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

213
Visualizações
La aplicación React no puede comunicarse con mi aplicación express en producción con sus solicitudes, pero funciona bien en desarrollo

Estoy tratando de enviar una solicitud de obtención simple a mi servidor express en la ruta mywebsite.com/test. El servidor debería responder con {"test": "test"}. Esto funciona bien en el desarrollo en localhost, pero no importa lo que intente en un entorno de producción, no puedo obtener una respuesta de mi servidor. Estoy alojando este sitio web en un GoDaddy VPS con CentOS 7. La aplicación de reacción se carga bien en vivo, pero cualquier solicitud que hago devuelve un documento html con una etiqueta que dice "Necesita habilitar JavaScript para ejecutar esta aplicación". (Estoy viendo esto en la sección de respuesta de la pestaña de red en Chrome DevTools)

Ejecuté el backend con el nodo de ssh y dice que está escuchando en el puerto 5000. He agregado un proxy a package.json, así como una página de inicio como tal:

 "proxy": "http://localhost:5000", "homepage": "."

Intenté que el campo de la página de inicio fuera http://mywebsite.com también sin resultados.

Aquí está la configuración de mi aplicación express:

 const express = require('express'); const PORT = process.env.PORT || 5000; const app = express(); app.use(express.json()); app.get('/', function(req, res) { res.status(200).send() }); app.get('/test', (req, res) => { res.status(200).json({test: "test"}); }) app.listen(PORT, async function() { console.log(`Listening on Port ${PORT}`); });

En desarrollo recibo esto en la pestaña de red como se esperaba:

 {"test":"test"}

Estoy completamente perdido en este punto, se siente como si hubiera intentado todo.

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Resuelto. Resulta que mi problema estaba en mi archivo .htaccess.

Entiendo que no debería usar .htaccess si tengo un VPS, pero siendo bastante nuevo en el manejo de un VPS, este fue mi problema:

 <IfModule mod_rewrite.c> RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . /index.html [L] </IfModule>

Agregué esto debido a un problema con nuestro React Router. Esto resolvió ese problema, pero en consecuencia reescribió todas mis solicitudes de back-end. Después de eliminar esto, logré agregar esta regla: (de: Tengo alojamiento web compartido de Godaddy. Necesito alojar el sitio web node.js. ¿Puede alojar el sitio? )

 RewriteRule (.*) http://localhost:5000/$1 [P,L] DirectoryIndex index.html

Lo que permitió que todo volviera a funcionar.

about 4 years ago · Santiago Gelvez 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