これは以前は機能していました:
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が応答しない場合...
これを再び機能させる方法は?ありがとうございました
コンテンツの大部分はリモートサーバー上にあります。エラーページを(いくつかのリソースと一緒に)ローカルで提供する必要があります。上流から提供される場所とは異なる「特別な場所」が必要であり、そこにすべてのローカルリソースを配置します。 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/
サブディレクトリに移動する必要があります。
構成には、エラードキュメントが/var/www/example/502.html
であると記載されています。構成内の何も、いつでも/var/www/example/index.html
をロードしようとはしません。ファイルの名前を変更します。