我正在开发一个新网站,我有生产和开发版本。生产版本目前已关闭,只有开发版本用于测试目的。这两个版本位于同一IP地址,域名为example.com
和develop.example.com
。
我的nginx /etc/apps/sites-available
中有2个相应的配置文件:example.conf
和develop.example.conf
,develop.example.conf
中的符号链接仅启用了sites-enabled
。启用SSL并将所有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
并不包含任何重写条目。
答案 0 :(得分:2)
如果你没有一个包罗万象的服务器块,它将默认为第一个。您可以在此处详细了解:http://nginx.org/en/docs/http/request_processing.html