问题描述
我们现在提供云服务,客户有一个专属的二级域名,访问该域名下面是一些定制静态和动态资源,现在我要提供可以把用户自己的域名指向该二级域名,实现的效果和GitPages一样,用户添加他的CNNAME,他再把自己的域名指向我的IP(客户的是顶级域名),我的前端有个Nginx可以来做这个解析
我现在知道的是,如果我动态的向Nginx的conf文件里添加server,似乎是可以处理这个情况的请问有经验的朋友给个提示,如果我建立一个Nginx的配置目录,动态的这个目录下添加conf文件,并include这个目录下的所有配置文件,每个文件里写一个server,这样可行吗?我测试过添加目录,写入配置文件添加server是可以的,但是必须reload Nginx请问有什么办法,不用手动reload Nginx
问题解答
回答1: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 愉快的访问了