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

标签 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

有什么想法吗?

最佳答案

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

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

这是一项安全措施,但这导致即使在不同端口上的所有子域也将始终尝试 https ..正确的方法应该是每个虚拟主机每个端口都有不同的子域..

关于redirect - nginx 重定向规则将所有内容重定向到 https,即使对于其他端口也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37692904/

相关文章:

html - 如何在 nginx 中提供 html 文件而不显示此别名设置中的扩展名

python - 如何使 environ ['PATH_INFO' ] 在我的 nginx + uwsgi 环境中可用?

apache - 如果文件存在于子文件夹中,则 .htaccess 重定向

mongodb - 使用 ssl 从 spark 连接到 mongo docker

javascript - clearInterval 会导致重定向吗?

ssl - 浏览器上的 requestClientCertificate 错误

google-chrome - Chrome 报告 'invalid certificate transparency information was supplied by the server?' 到底是什么意思

node.js - websocket 无法在 ec2 上与 nginx 连接

.htaccess 在包含空格的 url 上重定向

php - .htaccess 301 重定向不起作用?