Раньше это работало:
server {
server_name example.com;
location / {
proxy_pass http://localhost:8888;
error_page 502 /502.html;
}
location = /502.html {
root /var/www/example;
}
}
Теперь внезапно этого больше нет ... Я не знаю, что изменилось?
Я получаю 404 вместо отображения /var/www/example/index.html
если порт 8888 не отвечает ...
Как заставить это работать снова? Спасибо
В вашей конфигурации указано, что документ об ошибке /var/www/example/502.html
. Ничто в вашей конфигурации не пытается загрузить /var/www/example/index.html
в любое время и в любое время. Переименуйте файл.
Большая часть вашего контента находится на удаленном сервере. Вам необходимо обслуживать страницу с ошибкой (вместе с некоторыми ресурсами) локально. Вам нужно «особое место», отличное от любого места, обслуживаемого восходящим потоком, и разместить там все ваши локальные ресурсы. Я не могу выбрать название для этого места, так как понятия не имею, что вы обслуживаете из 8888. Но допустим /error_pages
на данный момент.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8888;
error_page 502 /error_pages/502.html;
}
location /error_pages {
root /var/www/example;
}
}
С приведенной выше конфигурацией вам нужно будет отредактировать 502.html
и измените URL-адреса ресурсов, чтобы добавить /error_pages
префикс.
Вам также потребуется переместить все файлы (502.html
и его файлы ресурсов) в /var/www/example/error_pages/
подкаталог.