Nginx
如何配置 nginx 將所有請求從域別名重定向到主域?
我確實有一個響應多個域的 nginx 伺服器,我確實想將所有請求重定向到主域。
範例:網站
xxx xxx.example.com yyy.example.com $hostname
同時響應http
和https
。我想以這樣一種方式配置伺服器,即所有對其他域名的請求都將被重定向到
xxx.example.com
.
我認為這些方面的東西應該起作用:
set $primary_domain "xxx.example.com"; if ($host != $primary_domain) { rewrite ^ $scheme://$primary_domain permanent; }
最有效和最乾淨的方法是配置兩個單獨的 server{} 塊 - 一個用於重定向,另一個(具有規範名稱)用於實際處理請求。
範例配置:
server { listen 80; listen 443 ssl; server_name xxx yyy.example.com $hostname; ssl_certificate ... ssl_certificate_key ... return 302 $scheme://xxx.example.com$request_uri; } server { listen 80; listen 443 ssl; server_name xxx.example.com; ssl_certificate ... ssl_certificate_key ... ... }
文件: