你好,我有这个配置
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
有什么想法吗?
最佳答案
好的,在我开始挖掘之后,我在我的 nginx conf 上有这个:
add_header Strict-Transport-Security max-age=15768000;
这是一项安全措施,但这导致即使在不同端口上的所有子域也将始终尝试 https ..正确的方法应该是每个虚拟主机每个端口都有不同的子域..
关于redirect - nginx 重定向规则将所有内容重定向到 https,即使对于其他端口也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37692904/