Nginx

Nginx錯誤頁面靜態內容未載入

  • April 27, 2015

執行 Nginx 1.4.1 我有以下配置來顯示自定義錯誤頁面,以防我的後端出現問題。該頁面已顯示,但未載入自定義字型和圖像。我的自定義錯誤頁面 (50x.html) 在 /usr/share/nginx/html/ 中。子文件夾 img & fonts 中的靜態內容。

從我的瀏覽器中,我可以看到靜態內容 url 附加到我目前的 url 中,這使得它們不可用。例如,如果我正在瀏覽 www.domain.com/user/account,Nginx 將嘗試從伺服器載入內容:

URL 
/user/account/img/logo.png
/user/account/img/main.jpg
/user/account/img/footer.png
/user/account/fonts/miso-regular-webfont.ttf

而不是來自 sr/share/nginx/html/img/

這是配置部分:

error_page 324 500 502 503 504 /50x.html;
       location = /50x.html {
               root /usr/share/nginx/html;
               allow all;
               internal;
   }

謝謝你的燈。

編輯 1:

感謝 Alexey,路徑現在已更正,但圖像仍未顯示。在第一次後端失敗時,Nginx 嘗試從 Apache 獲取圖像,而 Nginx 應該服務於整個維護頁面而不依賴於後端。為什麼會有這種行為?當後端生病時,我不能依賴它,即使是維護頁面。

謝謝你。

用以下方法解決了它:

error_page 324 500 502 503 504 = @maintenance;
location @maintenance {
       root /usr/share/nginx/html;
       try_files $uri /50x.html =503;
}

引用自:https://serverfault.com/questions/680072