1. 程式人生 > 實用技巧 >nginx 泛域名解析 支援 多域名動態網站內容

nginx 泛域名解析 支援 多域名動態網站內容

假設域名為 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、總覽

我也是查了很多帖子、文件,零零碎碎,慢慢試出來的

希望對其他網友有所幫助!