Linux
Nginx 用 Server_name 作為下劃線重寫
我們有帶有 server_name 作為下劃線的 nginx 配置。如何從 http 重寫為 https。
server { server_name _; rewrite ^/(.*) https://$server_name/$1 permanent; }
這將返回錯誤,因為http://_/未找到。在重寫規則中不提供域名的任何方式。
設置一個 nginx 塊以偵聽埠 80 以將所有內容重定向到 https。將通常的配置放在 443 塊中。
server { listen 80; server_name _; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name _; [....] }
似乎您的問題在於無法解決
_
(這是在 susssful 重定向後出現“未找到”錯誤的主要原因),而不是在 nginx 配置文件中。為 . 建立您自己的 TLD 區域_
,或至少在/etc/hosts
.