Nginx
nginx 的維護頁面,最佳實踐
我想將伺服器配置為在存在時顯示維護頁面。我嘗試了這段程式碼並且有效:
location / { try_files /maintenance.html $uri $uri/ @codeigniter; }
但我注意到它會提供一個 200 狀態程式碼,它可能會導致搜尋引擎混淆。我認為最好的做法是返回 503 狀態碼。在Google上我找到了幾個相關的頁面,就像這樣。但是,他們使用 if 進行重定向,並且根據 nginx 文件,使用 ifs 是不安全的。
有沒有不使用if的方法?如果在這種情況下使用安全嗎?
謝謝。
我認為最佳做法是返回 500 狀態碼。
我認為您的意思是 503 而不是 500。
他們
if
用來進行重定向,根據 nginx 文件,使用 ifs 是不安全的。不,只有在上下文中
return
是100% 安全if
的。location
根據nginx 文件,您可以將 HTTP 狀態程式碼指定為
try_files
. 我試過這個,但沒有用。
這就是我所做的。
if (-f $document_root/maintenance.html) { return 503; } error_page 503 @maintenance; location @maintenance { rewrite ^(.*)$ /maintenance.html break; }
如果文件在那裡,它將顯示維護頁面。刪除文件後,您將恢復正常。