我們現在提供雲端服務,客戶有一個專屬的二級域名,訪問該域名下面是一些定制靜態和動態資源,現在我要提供可以把用戶自己的域名指向該二級域名,實現的效果和GitPages一樣,用戶添加他的CNNAME,他再把自己的網域指向我的IP(客戶的是頂級網域),我的前端有個Nginx可以來做這個解析
我现在知道的是,如果我动态的向Nginx的conf文件里添加server,似乎是可以处理这个情况的
请问有经验的朋友给个提示,如果我建立一个Nginx的配置目录,动态的这个目录下添加conf文件,并include这个目录下的所有配置文件,每个文件里写一个server,这样可行吗?
我测试过添加目录,写入配置文件添加server是可以的,但是必须reload Nginx
请问有什么办法,不用手动reload Nginx
巴扎黑2017-05-16 17:22:23
1) 首先,你需要將每個客戶的靜態檔案放在不同的目錄中,例如 /data/www/site/foo
/data/www/site/bar
等
2) 到你的 DNS 服务商处配置一个范域名,例如 *.statuspage.cn
(部分 DNS 服務商可能不支持,這裡推薦你使用免費的 DNSPod)
3) 配置 Nginx 如下
# 部分无关配置已忽略
server {
server_name ~^(?<subdomain>.+)\.statuspage.cn;
root /data/www/site/$subdomain;
}
4) 現在你可以透過 foo.statuspage.cn
或 bar.statuspage.cn
愉快的訪問了