nginx 代理,无需更改端口

nginx 代理,无需更改端口

我正在运行 nginx 代理服务器,以便能够通过同一端口 (443) 对网络上的多个服务器进行 Web 访问。其中一台服务器(网址)有重定向到另一个端口的习惯,并且由于该端口在我的防火墙上未打开,因此无法连接。我希望 nginx 拒绝该重定向。到目前为止,我有以下有效的方法,但广告端口 8443 是我的下一个目标要删除的网址:

通过以下命令,客户端从 443 重定向到 4040:

server {
    listen 8443 ssl http2;
    server_name host_name;

    location / {
        proxy_set_header Host $host;
        proxy_pass https://internal_ip:4040/;
        client_max_body_size 0;
        proxy_connect_timeout 3600;
        proxy_send_timeout 3600;
        proxy_read_timeout 3600;
        send_timeout 3600;
    }
}

当我输入服务器的 url 时,我被重定向到 url:4040,然后出现错误 (404)。

以下确实有效,但将服务器端口 (8443) 广告到 url:

server {
    listen 8443 ssl http2;
    server_name hostname;

    proxy_set_header Host $host;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://internal_ip:4040/;
        client_max_body_size 0;
        proxy_connect_timeout 3600;
        proxy_send_timeout 3600;
        proxy_read_timeout 3600;
        send_timeout 3600;
    }
}

当我输入服务器的 url 时,我被重定向到 url:8443 并显示内部服务器。是否可以不添加 8443 并简单地转到内部 ip 而不更改或添加端口?如果我第一次重定向到 /admin 也有什么帮助,因为第一个设置在我的浏览器中输入 url/admin 时起作用,然后它会跳过重定向到 4040。

希望我的问题很清楚以及我想要做什么。

相关内容