nginx-基于域名的虚拟主机
nginx-基于域名的虚拟主机
1. 问题
情景:
有一台云主机和一个域名xxx.cn(多个解析记录),在服务器上部署了一个blog项目,要实现通过blog.xxx.cn才能访问到这个项目。
解析记录有:
nginx配置文件(关键代码):
... server { listen 80; server_name blog.xxx.cn; location / { proxy_pass http://0.0.0.0:8001; # blog项目使用端口 } } server { listen 80; server_name xxx.cn; location / { root html; index index.html index.htm; } } ...
效果为:
除了xxx.cn外,blog.xxx.cn、test.xxx.cn、www.xxx.cn都能访问到blog项目。
2. 解决方法
将上述nginx配置文件(关键代码)中的两个server交换位置
3. 总结
nginx基于域名的虚拟主机,当域名不在配置的server中时,会使用第一个server。
欢迎交流
如有错误,欢迎大佬指出。如有其它看法,期待一起交流。