nginx 泛域名解析 支援 多域名動態網站內容
阿新 • • 發佈:2020-08-05
假設域名為 mydomain.net
nginx 如何支援多子域名,且各域名網站內容動態?
1、新增泛域名解析
2、監聽
listen 80; server_name *.mydomain.net;
3、獲取子域名名稱
set $subdomain ''; if ($host ~* (\b(?!m\b).+)\.mydomain.net) { set $subdomain $1; }
4、子域名匹配網站內容
這一塊有兩種實現:
1)直接將子網站內容,放在nginx目錄下,目錄結構匹配$subdomain
這種對於類似建站服務顯然不適用;多臺負載時,也比較麻煩;內容有改動時,需上傳
2)將$subdomain 寫入 cookie,一個(殼)頁面,根據$subdomain 值,動態載入內容
下面就是該實現的 nginx 配置
location / { proxy_pass https://mydomain.net; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #解決path為/ proxy_set_header X-Forwarded-Proto $scheme; #寫cookie,如需指定domain,必需 “同源” add_header Set-Cookie 'x_domain=$subdomain;path=/'; }
x_domain 即為 cookie name
5、總覽
我也是查了很多帖子、文件,零零碎碎,慢慢試出來的
希望對其他網友有所幫助!