Bug #8634
closed
When API fails, Apache is overriding the error message with a generic one
Added by Nicolas CHARLES over 8 years ago.
Updated over 7 years ago.
Category:
Web - Maintenance
Description
Consider the following API call:
curl -s -k -H "X-API-Token: MY-TOKEN" "https://localhost/rudder/api/latest/changeRequests"
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Server Error</title>
</head><body>
<h1>Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
webmaster@localhost and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.2.22 (Debian) Server at localhost Port 443</address>
</body></html>
The error 500 answer doesn't tell me WHY it failed (in this case, changerequests are disabled). But it should not fail like that, and there are cases where it fails AND changerequests are enabled.
Logs are not helping:
/var/log/rudder/apache2/access.log
192.168.90.35 - - [06/Jul/2016:11:21:30 +0200] "GET /rudder/api/latest/changeRequests HTTP/1.1" 500 2144 "-" "curl/7.43.0"
and no other log are returning anything :(
- Subject changed from When API fails, there are no logs explaining WHY it fails :( to When API fails, Apache is overriding the error message with a generic one
- Assignee changed from Vincent MEMBRÉ to Alexis Mousset
- Priority changed from 1 (highest) to 3
The URLs that should not be overriden are:
/rudder/api/*
- Status changed from New to In progress
The ProxyErrorOverride configuration is done at global or virtualhost level, so we need a separate virtual host for API to fix this.
- Status changed from In progress to Discussion
In apache 2.4, ProxyErrorOverride has a directory context and this can be done without a new vhost.
And it is also possible with a double proxy, a vhost that redirects to an override vhost or a nooverride vhost depending on the URL.
- Translation missing: en.field_tag_list set to Quick and important, Ease of use
- Target version changed from 2.11.23 to 2.11.24
- Target version changed from 2.11.24 to 308
- Target version changed from 308 to 3.1.14
- Target version changed from 3.1.14 to 3.1.15
- Target version changed from 3.1.15 to 3.1.16
- Target version changed from 3.1.16 to 3.1.17
- Target version changed from 3.1.17 to 3.1.18
This has been fixed for apache 2.4 in #7134, but the same method cannot be used on apache 2.2.
- Target version changed from 3.1.18 to 3.1.19
- Related to Bug #10295: Log an error when Rest API fails added
- Status changed from Discussion to Rejected
This has been fixed for apache 2.4 in #7134, but it cannot be fixed for apache 2.2.
Also available in: Atom
PDF