This Is Fine
Production Risk
Medium — if your monitoring checks HTTP status codes, ProxyErrorOverride will mask upstream errors as 218 Success, hiding real failures.
218 This Is Fine is an unofficial status code used by Apache when the ProxyErrorOverride directive is enabled. Instead of forwarding the upstream error response code to the client, Apache replaces it with 218 and serves the error page from its own configuration, masking the real status code.
- 1Apache's ProxyErrorOverride directive is set to On, causing it to intercept 4xx/5xx responses from upstream servers.
- 2The upstream server returned an error, but Apache is substituting its own error page and a 218 status.
- 3A reverse proxy configuration intentionally hides upstream error codes.
Apache acting as a reverse proxy with ProxyErrorOverride On when the upstream returns a 5xx error.
# Apache httpd.conf ProxyErrorOverride On ProxyPass / http://upstream-server/
expected output
HTTP/1.1 218 This Is Fine
Fix
Disable ProxyErrorOverride if you need accurate status codes
WHEN Monitoring or clients need to see the real upstream status code.
# In httpd.conf or .htaccess ProxyErrorOverride Off
Why this works
Disabling ProxyErrorOverride lets Apache pass the upstream status code through transparently.
✕ Do not rely on 218 in monitoring alerts
It masks real errors — your monitoring will miss upstream 500s if it only checks status codes.
Specific to Apache httpd with ProxyErrorOverride; not part of any IETF standard.
Apache mod_proxy documentation
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#218 ↗Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev