Nginx响应server_name,但它不应该响应

时间:2015-09-29 15:52:05

标签: nginx

我正在开发一个新网站,我有生产和开发版本。生产版本目前已关闭,只有开发版本用于测试目的。这两个版本位于同一IP地址,域名为example.comdevelop.example.com

我的nginx /etc/apps/sites-available中有2个相应的配置文件:example.confdevelop.example.confdevelop.example.conf中的符号链接仅启用了sites-enabled。启用S​​SL并将所有http连接重定向到https。

仍然出于某种原因https://example.com显示了我网站的开发版本。为什么?

以下是develop.example.conf

upstream django_develop {
    server unix:///tmp/develop.sock;
}

rewrite_log on;

server {
    listen 80;
    server_name develop.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;

    server_name develop.example.com;
    ssl_certificate /etc/ssl/private/example.crt;
    ssl_certificate_key /etc/ssl/private/example.key;
    charset utf-8;

    client_max_body_size 75M;

    location /media {
        alias /srv/develop/mysite/media;
    }

    location /static {
        alias /srv/develop/static;
    }

    location / {
        uwsgi_pass django_develop;
        include /etc/nginx/uwsgi_params;
    }
}

奇怪的是,error.log并不包含任何重写条目。

1 个答案:

答案 0 :(得分:2)

如果你没有一个包罗万象的服务器块,它将默认为第一个。您可以在此处详细了解:http://nginx.org/en/docs/http/request_processing.html