nginx响应未知的主机名?

前端之家收集整理的这篇文章主要介绍了nginx响应未知的主机名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有两个域指向同一个服务器,一个我们称之为家,一个我们称之为web.

我在端口80上运行Nginx用于HTTP,443用于HTTPS.在我的服务器定义中,我定义了两个服务器:

server {
    listen 80;
    server_name web;
    # ...
}

server {
    listen 443;
    server_name web;
    # ...
}

在实践中,它工作得很好.但是,当我尝试访问家庭时,它指向与网络相同的IP地址,我得到网络而不是获得404等.

如何将Nginx配置为与服务器名称不匹配的404请求?我是否需要定义一个默认服务器,它只是将事物反弹到404s?

最佳答案
Catchall服务器块还需要一个server_name,您需要将其设置为无效值,如_.这样,服务器块将不匹配任何其他主机名,并将仅用作最后的手段.配置将如下所示:

server {
    listen 80;
    listen 443 ssl;

    server_name _;

    return 404;
}

猜你在找的Nginx相关文章