Nginx 请求端口

ris*_*ska 5 ssl nginx

我有一个启用了 SSL 的 nginx 服务器。由于它在不同的端口(而不是 443)上运行,因此有时它会接收纯 HTTP 请求而不是 HTTPS。我想为此设置一个重定向以自动替换该方案,我尝试了以下代码:

error_page 497 https://$host:$server_port$request_uri;
Run Code Online (Sandbox Code Playgroud)

但是这里的问题是,当服务器在 VM 中运行并且端口被转发到不同的端口时,它会重定向到一个无效的端口(服务器从中获得请求)。

我的问题是:如何从请求中解析/获取端口,而不是从服务器接收到请求的端口?

小智 9

希望不会太晚(八个月!)。我自己也有类似的问题,要使用 nginx.conf 中的原始请求端口。

nginx $http_名称变量

$http_name:任意请求头域;变量名的最后一部分是字段名转换为小写,短划线替换为下划线

$http_host 因此,如果有帮助,应该包含请求“主机”标头。

例如本地主机:8020