You do realize you redirected to <name>.htm and specified <page>.html in the location, right?
On Thu, Oct 20, 2022 at 14:02 Dan G. Switzer, II <dan.swit...@givainc.com> wrote: > Sergey, > > Thanks for taking the time to respond. That's not working for me. I tried > the following: > > > server { > listen 80; > > client_max_body_size 10k; > > error_page 403 =404 /404_status_code.htm; > error_page 404 =404 /404_status_code.htm; > error_page 413 =413 /413_status_code.htm; > > location /upload { > dav_methods PUT; > create_full_put_path on; > dav_access group:rw all:r; > } > > location = /404_status_code.html { > internal; > root /path/to/my/custom/errors; > } > > location = /413_status_code.html { > internal; > root /path/to/my/custom/errors; > } > } > > > The 404 works fine, but sending more than 10k to the request still returns > the default nginx page. > > If I curl to a non-existent URL, I get the custom 404. The 413 doesn't. If > I remove the "internal" command, I can view the /413_status_code.html file > just fine. > > Is there a good way I can debug/troubleshoot why it might not be working? > > It really seems like it might be a bug with the version of nginx that > CentOS 7 is installing. > > -Dan > > On 10/20/2022 11:05 AM, Sergey A. Osokin wrote: > > Hi Dan, > > thanks for the report. > > On Thu, Oct 20, 2022 at 09:04:31AM -0400, Dan G. Switzer, II wrote: > > I'm using nginx/1.20.1 under CentOS Linux release 7.9.2009 (Core) and I > cannot get a custom error page to show when the client_max_body_size > limit has been exceeded. The browser will only return the default nginx > error page. > > [...] > > > However, if I change the code to: > > > error_page 404 =404 /404_status_code.htm; > error_page 403 =404 /404_status_code.htm; > error_page 413 =413 /413_request_too_large.htm; > > location /404_status_code.htm { > internal; > root /path/to/my/custom/errors/; > add_header X-Original-URL "$scheme://$http_host$request_uri" always; > } > > location /413_request_too_large.htm { > internal; > root /path/to/my/custom/errors/; > add_header X-Original-URL "$scheme://$http_host$request_uri" always; > } > > When I try to upload a file larger than my client_max_body_size setting, > I still get the default error page. I've tried a lot of different > variations of the code, but nothing seems to work. > > > Is there something special that needs to be done to implement a custom > error page for a 413 status code? Or is there perhaps a regression that > broke this from working? > > Here's the configuration that works here: > > server { > listen 80; > > client_max_body_size 10k; > > error_page 403 =404 /404_status_code.html; > error_page 404 =404 /404_status_code.html; > error_page 413 =413 /413_status_code.html; > > location /upload { > dav_methods PUT; > create_full_put_path on; > dav_access group:rw all:r; > } > > location = /413_status_code.html { > internal; > root /usr/local/www/nginx; > } > } > > % dd if=/dev/zero of=11k bs=1k count=11 > 11+0 records in > 11+0 records out > 11264 bytes transferred in 0.000075 secs (150232738 bytes/sec) > > % cat /usr/local/www/nginx/413_status_code.html > <html> > <body> > here's the 413 error > </body> > </html> > > % curl -T 11k > https://url.emailprotection.link/?bBgKrp4MmqsBU6w4TjxZ9_JqJd9V0NDmTOHlOJxvE4o6VBzwgW7OP1tEufUK7BpJqJXzp1a-EKqVvPqu_3UYV0A~~ > <html> > <body> > here's the 413 error > </body> > </html> > > Thank you. > > > > -- > Dan G. Switzer, II > Giva, Inc. > Email: dan.swit...@givainc.com > Web Site: http://www.givainc.com > > See Our Customer Successes http://www.givainc.com/customers-casestudies.htm > > _______________________________________________ > nginx mailing list -- nginx@nginx.org > To unsubscribe send an email to nginx-le...@nginx.org > -- I am not young enough to know everything. - Oscar Wilde (1854-1900)
_______________________________________________ nginx mailing list -- nginx@nginx.org To unsubscribe send an email to nginx-le...@nginx.org