Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

288
Visualizações
NodeJS Express con SSL no funciona con el proxy inverso Nginx

Mientras configuro una aplicación NodeJS en Ubuntu 16.04, me he encontrado con un comportamiento extraño. La aplicación solo funciona con la dependencia de http pero no con la dependencia de https.

Mi aplicación NodeJS se ejecuta en el puerto 8081 y estoy usando el proxy inverso Nginx con SSL para redirigir las llamadas al puerto 8081. El siguiente es mi archivo default.conf en el directorio site-enabled Nginx.

 # HTTP - redirect all requests to HTTPS: server { listen 80; listen [::]:80 default_server ipv6only=on; return 301 https://$host$request_uri; } # HTTPS - proxy requests on to local Node.js app: server { listen 443; server_name test.com; ssl on; # Use certificate and key provided by Let's Encrypt: ssl_certificate /etc/letsencrypt/live/test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/test.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; # Pass requests for / to localhost:8081: location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://localhost:8081/; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_redirect off; } }

El siguiente es el script de prueba que estoy ejecutando en el servidor Node.

 var https = require('https'); https.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Welcome to Test App'); }).listen(8081, 'localhost'); console.log('Server running at http://localhost:8081/');

Obtengo 502 Bad Gateway cuando pruebo el sitio usando test.com . Pero, extrañamente, cuando cambio la dependencia de https a http, todo funciona a la perfección.

¿Cuál podría ser el problema del comportamiento extraño? ¿No podemos usar https con configuración SSL con Nginx? Como estoy buscando usar una conexión de pares confiable, también es necesario usar https con NodeJS.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Dado que su aplicación Node.js está escuchando en https, su servidor Nginx debe reenviar las solicitudes a https://localhost:8081/ en lugar de a http://localhost:8081 , por lo que debe establecer su valor proxy_pass en https://localhost:8081/

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda