我对 nginx 子域有一个奇怪的问题。首先,我的配置:
server {
listen 443 ssl;
server_name secure.example.com;
ssl_certificate example.crt;
ssl_certificate_key example.key;
keepalive_timeout 70;
location / {
fastcgi_pass 127.0.0.1:8000;
...
}
}
server {
listen 80;
server_name example.com www.example.com;
location / {
fastcgi_pass 127.0.0.1:8000;
...
}
}
我的想法是我有一个安全域secure.example.com
和一个普通域,example.com
. 在实践中,我可以去https://example.com
和http://secure.example.com
。我使用中间服务器解决了第二个问题:
server {
listen 80;
server_name secure.example.com;
rewrite ^(.*) https://secure.example.com$1 permanent;
}
但这不是最佳解决方案,我必须创建另一个以将 tld 上的 https 重定向到子域。如果我需要多个这样的服务器,我觉得我一定做错了。为什么https://example.com
在没有服务器监听 443 的情况下工作?它不应该只是无法连接吗?我比较困惑。