nginx重定向规则将所有内容重定向到https,即使是其他端口也是如此

时间:2016-06-08 03:49:58

标签: redirect ssl nginx https

您好我有这个配置

server {
    listen          82;
    server_name     myapp.mydomain.com;
    return          301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name myapp.mydomain.com
    # ... remain of the stuff here
}

在此之前我有其他网站在端口运行:80,3000等...现在当我访问http://myapp.mydomain.com时自动将我重定向到我的应用程序(就像我调用端口82一样)并且如果我尝试访问另一个在3000端口上运行的应用程序尝试重写https://myapp.mydomain.com:3000 ...如果我使用ip它按预期工作(不是ssl部分)。

完整配置可在以下网址找到:

https://gist.github.com/angvp/363f50ff8b8d345126adaf1595cd2523

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在我开始挖掘之后,我在我的nginx conf上有这个:

add_header Strict-Transport-Security max-age = 15768000;

这是一项安全措施,但这导致所有子域甚至在不同的端口上都会尝试使用https ..正确的方法应该是每个端口每个vhost都有不同的子域名。