如何使用 443 nginx 镜像其他端口 6040?

如何使用 443 nginx 镜像其他端口 6040?

我尝试发现如何使用 nginx 在 443 上回复,但在端口 6040 上使用应用程序,我需要通过 443 ssl 让 nginx 像 6040 应用程序一样应答,有人知道怎么做吗?

雷加斯

答案1

我假设您的应用程序正在http监听端口 6040 上的请求,该应用程序与您的 nginx 服务器在同一台机器上运行。如果您的应用程序正在监听https端口 6040 上的请求,请参阅nginx https 上游反而。


创建一个服务器,监听你的公共 IP 上的端口 443,并作为端口 6040 上的内部应用程序的代理。

/etc/nginx/sites-available/www.example.com.vhost

server {
    # Listen on port 443 for both IPv4 and IPv6 and turn on http2 support.
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name www.example.com;

    ssl on;
    # Paths to certificates assuming you're using let's encrypt / certbot
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
    # There's much more directives you should fine tune for https, but that's another task.

    location / {
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass              http://localhost:6040;
        proxy_read_timeout      90;
        proxy_redirect          http://localhost:6040 https://www.example.com;
    }
}

相关内容