Nach Ewigkeiten habe ich es endlich mal hinbekommen eine eigene 404 Seite in Nginx zu basteln. An sich ist die Seite, bzw. der Redirect nicht schwer:

error_page 404 /404.html

Aber es hat mich dauernd zu der Seite redirected. Aus https://tribly.de/awd wurde https://tribly.de/404. Das ist natürlich sehr nervig.

Der Fix

Interne redirects.

error_page 404 @error;

location @error {
    root /srv/http/error;
    try_files $uri 404.html =404;
}

Locations mit einem @ werden nämlich nur intern behandelt.

Quelle: Link