absolute_redirect 預設值:on
Nginx 產生轉址時,由 absolute_redirect 設定值,決定是用絕對路徑、還是相對路徑。
例如:
瀏覽網址 https://example.com/aaa
但 aaa 是目錄,不是檔案,Nginx 會回應瀏覽器須轉址(location)到 aaa/ 目錄
絕對路徑 response header
location: https://example.com/aaa/
相對路徑 response header
location: /aaa/
通常兩者產生的效果沒差異,
但如果是經過反向代理,且瀏覽的網址跟真實Server(產生response header的Server)網址有差異。
例如:
瀏覽的網址是 https、真實Server網址是 http,
若用絕對路徑會導致轉址至非預期的http (response header location 寫轉到 http://...),
此時便可改用相對路徑,將 absolute_redirect 設為 off
參考:
- http://nginx.org/en/docs/http/ngx_http_core_module.html#absolute_redirect
Module ngx_http_core_module#absolute_redirect - http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name_in_redirect
Module ngx_http_core_module#server_name_in_redirect - http://nginx.org/en/docs/http/ngx_http_core_module.html#port_in_redirect
Module ngx_http_core_module#port_in_redirect - https://www.jianshu.com/p/3adcb8b931a3
nginx配置指令absolute_redirect、port_in_redirect、server_name_in_redirect详解 - 简书 - https://zhuanlan.zhihu.com/p/84539204
深度硬核文:Nginx的301重定向处理过程分析 - 知乎 - http://www.5190m.top/note/2022/2/15/2022-02-15-nginx-301-summary.html
Nginx 301问题总结 | 记录技术笔记
沒有留言:
張貼留言