自定义和不同端口上的高级 nginx http 到 https 重定向

advanced nginx http to https redirect on custom and different ports

我有以下 nginx 配置文件,我想将所有 http 重定向到 https,但使用不同的 server_name 和自定义端口

server {
    listen 80;
    server_name *.abc.example.com abc.example.com abc.example.local:123;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name *.abc.example.com abc.example.com abc.example.local:456;

}

这有点不同,因为其他 server_name ===> abc.example.local:123 上的非自定义端口需要重定向到 https[= 上的 abc.example.local:456 15=]

处理这种特殊情况的最佳方法是什么,以便它正确地将所有 http 重定向到 https,而不管 server_name 以及它是否具有用于 http 和 https 的不同端口

server_name 不能有端口 - 只有 listen 可以指定端口。

如果您希望 abc.example.local 监听端口 123 - 您将需要一个单独的服务器块。然后另一个服务器块将在端口 456 上侦听。