我有两个域指向同一个服务器,一个我们称之为家,一个我们称之为web.
我在端口80上运行Nginx用于HTTP,443用于HTTPS.在我的服务器定义中,我定义了两个服务器:
server {
listen 80;
server_name web;
# ...
}
server {
listen 443;
server_name web;
# ...
}
在实践中,它工作得很好.但是,当我尝试访问家庭时,它指向与网络相同的IP地址,我得到网络而不是获得404等.
最佳答案
Catchall服务器块还需要一个server_name,您需要将其设置为无效值,如_.这样,服务器块将不匹配任何其他主机名,并将仅用作最后的手段.配置将如下所示:
server {
listen 80;
listen 443 ssl;
server_name _;
return 404;
}