Easy custom error pages on nginx
posted Aug 08, 2023 by huskee
I wanted to have custom error pages for this website, but I didn't really want to write ~30-40 html files for the ~30-40 different http error codes. Thankfully, adriaan has thought of a solution on that, but I had to make some changes for it to fit my needs:
Snarky comments!!
Because I'm a sucker for a horrible pun, I decided I'd add comments to every status code, so that they display under the status code.
Unfortunately, nginx's map
only supports 2 variables, so I had to get a bit hacky and create two of them: one containing variables $status
and $status_text
, and one containing $status_text
and $desc
, where I put my stupid jokes.
I ended up putting all of this into a file in /etc/nginx/conf.d
, with an include directive in /etc/nginx/nginx.conf
.
Then, I created a file in /etc/nginx/snippets
called error_locations.conf
, where I defined all the error_page
directives and the single location
directive needed for the single error page html file, as per adriaan's blogpost.
The result? Straight up tomfoolery.
(p.s. SSI I love you)