Jelastic Nginx http 到 https 重定向
Jelastic Nginx http to https redirect
我在 Jelastic 中有一个帐户,我想强制我的网站仅在 https 上运行。我已经使用 nginx 平衡器创建了环境 nginx + php 并启用了 Jelastic SSL(正如它所描述的 here)。
每当我尝试设置从 http 到 https 的 301 重定向时都没有成功。使用 mod_rewrite 对我不起作用,我唯一得到的是循环重定向。 Google 没有帮助。
我真的需要建议。将提供任何其他信息。
提前致谢。
如果您使用的是 Jelastic SSL,这意味着您在共享的 Jelastic 解析器上有 SSL 卸载 = 对您服务器的所有请求都是 http(不是 http / https)。
您需要检查 X-Forwarded-Proto header 以确定哪些请求最初是 https。
事实上,当您启用 Jelastic SSL(意味着您不能使用 public IP)时,共享解析器处理对您服务器的所有请求,但解析器和您的服务器之间的请求不是 https。因此,使用重定向,您尝试设置,您的服务器将传入的 http 请求重定向到 https 并将其发送回解析器,结果您得到了循环重定向。
您需要执行几个简单的步骤来解决此问题。
登录仪表板,打开 nginx 平衡器的设置
导航到/conf
下的nginx-jelastic.conf
并将代码添加到配置文件中:
# force https-redirects
if ($http_X_Forwarded_Proto = http) {
return 302 https://$host$request_uri;
}
配置完成后别忘了按"Save"键重启nginx
大家好)对于域 ssl,此变体工作得很好
if ( $scheme = "http" ) { rewrite ^(.*)$ https://$host last; }
接受的解决方案不适用于我的设置。我不得不将 if 语句更改为以下内容:
if ($http_x_forwarded_proto != "https") {
return 301 https://$host$request_uri;
}
如官方 nginx 文档所述https://www.nginx.com/blog/creating-nginx-rewrite-rules#https 你应该使用:
return 301 https://$host$request_uri;
同样有效。
我在 Jelastic 中有一个帐户,我想强制我的网站仅在 https 上运行。我已经使用 nginx 平衡器创建了环境 nginx + php 并启用了 Jelastic SSL(正如它所描述的 here)。
每当我尝试设置从 http 到 https 的 301 重定向时都没有成功。使用 mod_rewrite 对我不起作用,我唯一得到的是循环重定向。 Google 没有帮助。
我真的需要建议。将提供任何其他信息。
提前致谢。
如果您使用的是 Jelastic SSL,这意味着您在共享的 Jelastic 解析器上有 SSL 卸载 = 对您服务器的所有请求都是 http(不是 http / https)。
您需要检查 X-Forwarded-Proto header 以确定哪些请求最初是 https。
事实上,当您启用 Jelastic SSL(意味着您不能使用 public IP)时,共享解析器处理对您服务器的所有请求,但解析器和您的服务器之间的请求不是 https。因此,使用重定向,您尝试设置,您的服务器将传入的 http 请求重定向到 https 并将其发送回解析器,结果您得到了循环重定向。
您需要执行几个简单的步骤来解决此问题。 登录仪表板,打开 nginx 平衡器的设置
导航到/conf
下的nginx-jelastic.conf并将代码添加到配置文件中:
# force https-redirects
if ($http_X_Forwarded_Proto = http) {
return 302 https://$host$request_uri;
}
配置完成后别忘了按"Save"键重启nginx
大家好)对于域 ssl,此变体工作得很好
if ( $scheme = "http" ) { rewrite ^(.*)$ https://$host last; }
接受的解决方案不适用于我的设置。我不得不将 if 语句更改为以下内容:
if ($http_x_forwarded_proto != "https") {
return 301 https://$host$request_uri;
}
如官方 nginx 文档所述https://www.nginx.com/blog/creating-nginx-rewrite-rules#https 你应该使用:
return 301 https://$host$request_uri;
同样有效。