nginx.conf中的server_name似乎被忽略

前端之家收集整理的这篇文章主要介绍了nginx.conf中的server_name似乎被忽略前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参见英文答案 > nginx open reverse proxy?                                    1个
我有一个域名,让我们说example.com指向我的服务器.我的Nginx.conf是:

upstream domain {
    server 127.0.0.1:8002; 
}

server {

    listen 80;
    server_name 

在开发过程中,我想停用example.com.我用< different_name>替换它.

server {

    listen 80;
    server_name 

使用< different_name>可以正常工作.但它仍然继续响应< example.com>.我无法弄清楚为什么.我希望Nginx在< example.com>上完全没有回应.

当然,我没有忘记重新启动服务,如gunicorn和Nginx.

编辑:它可能是建议的重复帖子.在我看来,你提到的帖子中暴露问题的方式很混乱.即使标题也不清楚. “Nginx open reverse proxy”严重意味着什么?我试图公开我的问题,这个问题有一个明确的类似解决方案,请记住它可以/应该可以重复使用,并且对每个人都更加明确.

简而言之:通过删除该域的生产域名请求不会被阻止,它们将转到默认服务器.

manual转述:

Nginx tests only the request’s header field “Host” to determine which server the request should be routed to. If its value does not match any server name,or the request does not contain this header field at all,then Nginx will route the request to the default server. Unless explicitly configured with default_server the default server is the first one.

您可以创建一个返回默认页面错误消息的最小默认服务器,例如:

server {
    listen      80 default_server;
    server_name _ ;
    return 503  "No server is currently configured for the requested host." ;
}
原文链接:https://www.f2er.com/nginx/435696.html

猜你在找的Nginx相关文章