Le 8/22/22 à 16:37, Shawn Heisey a écrit :
The same problem also happens with 2.6.4, built with the same options as
the dev version.
HAProxy version 2.6.4 2022/08/22 - https://haproxy.org/
I have documentation for the problem details in another project's bug
tracker:
https://issues.apache.org/jira/browse/SOLR-16327?focusedCommentId=17582990&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17582990
It appears so far as if haproxy is getting a 503 from the backend,
logging a 503, but actually sending a 403. Here is the config snippet
when it works correctly:
A top-level config section:
http-errors myerrors
errorfile 404 /etc/haproxy/errors/404.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/50x.http
errorfile 503 /etc/haproxy/errors/50x.http
errorfile 504 /etc/haproxy/errors/50x.http
In the frontend:
errorfiles myerrors
http-response return status 404 default-errorfiles if
!real_errors { status 404 }
http-response return status 403 default-errorfiles if
!real_errors { status 403 }
http-response return status 500 default-errorfiles if
!real_errors { status 500 }
http-response return status 502 default-errorfiles if
!real_errors { status 502 }
http-response return status 503 default-errorfiles if
!real_errors { status 503 }
http-response return status 504 default-errorfiles if
!real_errors { status 504 }
Removing the "!real_errors" part and restarting haproxy is when the
problem occurs. I created and used the real_errors acl as a working
bandaid for the issue -- turn off the custom error pages for the solr
hostname.
Hi,
It could be good to share your configuration and not only a snippet. However I'm
puzzled because in your case, the status code must be the one returned by the
server if no return rule matches or the one specified by the applied return rule.
There is also something I don't understand. In your bug report on solr project,
HAProxy logs report HTTP/3.0 requests but the screenshots show HTTP/2.0
requests. And the payload for the 403 response is talking about 50x errors. What
is the 50x.http error file content ?
--
Christopher Faulet