以下是一个示例的nginx.conf文件,其中在server中指定了一个server_name名单,并添加了一个简单的检测规则,如果请求的host不在名单中,返回403 Forbidden的错误页面:

http {
    server {
        listen 80;
        server_name example.com;

        location / {
            if ($http_host !~* ^(example.com|www.example.com)$ ) {
                return 403;
            }

            # 其他配置项
        }
    }
}

在上面的示例中,我们将server_name设置为example.com。然后,在location /中使用了一个if语句来检测请求的host是否在名单中。如果请求的host不是example.com或www.example.com,就会返回403 Forbidden的错误页面。

请注意,if语句在nginx中是不推荐使用的,因为它可能会引起一些问题,如性能下降、配置复杂化等。但是,在这个简单的示例中,仅作为演示目的,可以使用if语句来实现我们的需求。

另外,还可以使用正则表达式来指定更复杂的匹配规则。在上面的示例中,我们使用了正则表达式^(example.com|www.example.com)$来匹配example.com和www.example.com两个host。你可以根据实际需要修改正则表达式来匹配你的server_name名单。

最后,记得在nginx的配置文件中引入这个修改后的nginx.conf文件,然后重新加载nginx配置即可生效

Nginx修改ngnixconf文件在server中指定一个server_name名单并添加检测。写一个 示例

原文地址: http://www.cveoy.top/t/topic/h1m0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录