Thanks. On Fri, Jun 30, 2023, 9:44 PM Maxim Dounin <mdou...@mdounin.ru> wrote:
> Hello! > > On Fri, Jun 30, 2023 at 01:24:18PM -0300, Fabiano Furtado Pessoa Coelho > wrote: > > > Hello Maxim... > > > > On Thu, Jun 29, 2023 at 7:00 PM Maxim Dounin <mdou...@mdounin.ru> wrote: > > > > > > Hello! > > > > > > On Thu, Jun 29, 2023 at 04:29:39PM -0300, Fabiano Furtado Pessoa > Coelho wrote: > > > > > > > Hi... > > ... > > > > "proxy_intercept_errors on;"? > > > > > > The "proxy_intercept_errors" handling does not copy any response > > > headers from the original response (the only exception is > > > WWW-Authenticate for 403 responses). > > > > > > If you want nginx to copy some headers, consider doing it yourself > > > with the $upstream_http_* variables and the add_header directive. > > > Something like this should work: > > > > > > location /30x.html { > > > add_header Location $upstream_http_location; > > > ... > > > } > > > > > > Note though that you'll have to manually rewrite location if > > > needed (as proxy_redirect handling won't be used). > > > > Your approach worked fine for me! Thanks for the help. > > > > Horever, without this "add_header" modification and with > > "proxy_intercept_errors on;", I've two situations: > > * without "error_page 301 302 /30x.html;" directive configured: I > > receive the HTTP "location" header from my NGINX; > > * with "error_page 301 302 /30x.html;" directive configured: I don't > > receive the HTTP "location" header from my NGINX; > > > > If "proxy_intercept_errors" handling does not copy any response > > headers from the original response, why is this HTTP "location" header > > present with "error_page 301 302 /30x.html;" directive configured in > > my system? > > > > I really don't understand why it happens. > > The "proxy_intercept_errors" directive only works for error > responses for which you have an error_page explicitly configured. > That is: > > - If you don't have an error_page configured for the particular > response code, nginx returns the original response as obtained > from the upstream server, with all the response headers, much like > it does with "proxy_intercept_errors off;". > > - If you do have an error_page configured, nginx instead > intercepts the error as per "proxy_intercept_errors on;", and > returns the error page to the client. This response does not contain > headers from the original response. > > This seems to be exactly what you are seeing (assuming "with" in > your final question is a typo, and you mean "without" instead). > Hope this helps. > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx mailing list > nginx@nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx >
_______________________________________________ nginx mailing list nginx@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx