我正在尝试将http://www.example.com:88的请求重写为https://www.example.com:4430
目前,我被困在非标准的端口。 这是我的configuration:
upstream pool { server 127.0.0.1:5001; server 127.0.0.1:5002; } server { listen 88; listen 4430 default ssl; if ($ssl_protocol = "") { rewrite ^ https://$server_name:4430/$uri permanent; # this also fails with https://www.example.com/:4430 #rewrite ^/(.*)$ https://$host:4430/$1 permanent; #rewrite ^ https://www.example.com:4430/ permanent; } location / { proxy_pass http://pool; proxy_set_header Host $host; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; } }
这导致http://www.example.com:88/path被重写为https://www.example.com/path:4430
在域名之后获取端口的语法是什么?
我build议使用单独的server进行httpredirect,另一个用于ssl:
server { listen 88; return 302 https://$host:4430$request_uri; } server { listen 4430 ssl default_server; ...