
Nginx单服务器多域名配置及冲突避免
本文演示如何在单台服务器上配置Nginx,绑定多个域名,并避免配置冲突。 以下示例配置展示了如何绑定www.aaa.cn和bbb.baidu-int.com两个域名。每个域名对应一个server块,分别监听不同的端口(www.aaa.cn监听HTTPS端口443及IPv6端口[::]:443;bbb.baidu-int.com监听HTTP端口80及IPv6端口[::]:80)。
问题排查:bbb.baidu-int.com失效
用户反馈bbb.baidu-int.com无法访问。经分析,可能原因是配置文件中缺少www.a.com的server块定义。 Nginx的配置顺序和完整性至关重要。
解决方案:添加缺失的server块
为了确保bbb.baidu-int.com正常工作,必须添加www.a.com对应的server块。 即使www.a.com目前不需要任何特殊配置,也必须添加一个占位符server块。
修正后的Nginx配置文件片段:
...
# www.a.com 配置块 (即使不需要任何配置,也必须添加)
server {
listen 80; # 或其他需要的监听端口
server_name www.a.com;
# ... 其他配置 ...
}
...
# www.aaa.cn 配置
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name www.aaa.cn;
# ... 其他配置 ...
}
# bbb.baidu-int.com 配置
server {
listen 80;
listen [::]:80;
server_name bbb.baidu-int.com;
# ... 其他配置 ...
}
...
添加此server块后,bbb.baidu-int.com和www.a.com都应该能够正确绑定到Nginx服务器并正常工作。 请确保所有server块的server_name指令正确设置,并根据实际需求配置其他参数,例如root、index等。 重启Nginx服务使配置生效。










