niestandardowa strona błędu 502 dla nginx z jednorożcem nie działa, doprowadzając mnie do szaleństwa;)

0

Próbowałem kilka razy i przy wielu okazjach próbować naprawić poniższy kod dla nginx z jednorożcem, ale to po prostu nie działa. Więc teraz, pisząc tutaj w ostatnim raporcie, niektórzy z was bardziej utalentowani mogą zobaczyć mój błąd, a inni również mogą z niego skorzystać.

Używam:

  • nginx
  • jednorożec

Problemem jest

  • Nie pokazano błędu 502 (używam WPR: Wdrożenie: wyłącz zadanie, aby napisać plik Maintenance.html)
  • Jeśli nginx działa, ale jednorożec nie otrzyma również strony błędu 502

Konfiguracja nginx:

upstream unicorn {


        server unix:/srv/books/shared/tmp/unicorn.sock fail_timeout=0;

    }

    server {

        listen 80 deferred;
        server_name        books.*;

            client_max_body_size 4G;
            keepalive_timeout 10;
            server_tokens off;

            root /srv/books/public;

            location / {
                try_files /system/maintenance.html $uri/index.html $uri @unicorn;
            }

            try_files $uri/index.html $uri @unicorn;

            location @unicorn {
                error_page 502 /system/maintenance.html;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://unicorn;
            }

        }
Rubytastyczny
źródło

Odpowiedzi:

2

Umieść error_pagedyrektywę serverraczej niż location.

Michael Hampton
źródło