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

548
Visualizações
Heroku: frontend y backend separados con Nginx en el mismo dominio

Tengo una aplicación con dos repositorios de github, uno para reaccionar y otro para la aplicación Rails. El requisito es que todas las rutas deben ir al servidor de Rails, excepto las rutas que comienzan con /catalog deben ir a la aplicación React. El servidor de la aplicación Rails se comunicará con React Server internamente. SSL está configurado en el nivel de Nginx.

He creado 3 aplicaciones diferentes en heroku:

  • aplicación de servidor de rieles
  • Aplicación de servidor React
  • Servidor web (Nginx)

La configuración de mi servidor nginx se ve así:

 upstream rails { server $HEROKU_APP_rails_URL; } upstream react { server $HEROKU_APP_react_URL; } server { listen $PORT; server_name *.xyz.com; # large_client_header_buffers 4 32k; 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_pass http://rails; } location /catalog { 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_pass http://react; } }

Con la configuración anterior, recibo un error HTTP 400 en Nginx y no puedo redirigir la solicitud. Por favor, hágame saber qué estoy haciendo mal.

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

0

Finalmente logré resolver este problema. Mi configuración de nginx parece

 upstream upstream_app_a { server app_a.herokuapp.com:443; } upstream upstream_app_b { server app_b.herokuapp.com:443; } server { listen $PORT; location / { set $upstream upstream_app_a; proxy_pass https://$upstream; proxy_ssl_name app_a.herokuapp.com; proxy_set_header x-forwarded-host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host app_a.herokuapp.com; } location /static { set $upstream upstream_app_b; proxy_pass https://$upstream/static; proxy_set_header Host app_b.herokuapp.com; 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; } location /product_catalog { set $upstream upstream_app_b; proxy_pass https://$upstream; proxy_ssl_name app_b.herokuapp.com; proxy_set_header x-forwarded-host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host app_b.herokuapp.com; } }

Asegúrese de establecer el valor correcto para el encabezado

 proxy_set_header Host app_a.herokuapp.com

Logramos resolver este problema consultando el artículo

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