como espelhar outra porta 6040 usando 443 nginx?

0

Eu tento descobrir como posso usar o nginx para responder no 443 mas usando um aplicativo na porta 6040, eu preciso responder nginx como 6040 app por 443 ssl, alguém sabe como é possível fazer isso?

Regars

    
por user3215778 28.02.2018 / 01:35

1 resposta

1

Suponho que o seu aplicativo listando por http solicitações na porta 6040 está sendo executado na mesma máquina que seu servidor nginx. Se o aplicativo estiver listando para https solicitações na porta 6040, consulte nginx https upstreams em vez disso.

Crie um servidor que escute na porta 443 em seu ip público e atue como um proxy para seu aplicativo interno na porta 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;
    }
}
    
por Bob 28.02.2018 / 12:24