Skip to content
Discussion options

You must be logged in to vote
Answered by Pаramtamtām Admin May 2, 2026

Hey, thanks for the detailed write-up - this is a real footgun, and I appreciate you documenting it clearly.

The reason the default is 200 (and likely will stay that way) is that error-pages is used in two fundamentally different roles:

  1. As defaultBackend - where error-pages itself sends the final response to the client. Here you must set --send-same-http-code / SEND_SAME_HTTP_CODE=true.
  2. As a custom error page backend (via proxy_intercept_errors / error_page in nginx, handle_response in Caddy, errors middleware in Traefik) - where the proxy intercepts the upstream response, fetches the error page internally, and sends its own status code back to the client. In this case, the 200 from erro…

Replies: 1 comment 2 replies

Comment options

Pаramtamtām Admin
May 2, 2026

You must be logged in to vote
2 replies
@SISheogorath
Comment options

Pаramtamtām Admin
Comment options

Pаramtamtām Admin May 3, 2026

Answer selected by Pаramtamtām Admin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant