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

418
Visualizações
Error al obtener del servidor usando Node.js y Heroku

Estoy tratando de implementar mi aplicación React en Heroku, sin embargo, me encuentro con algunos errores de graphql. Cuando implemento manualmente la aplicación, tanto el servidor como el cliente se inician correctamente, sin embargo, al realizar cualquier acción que requiera una búsqueda de la base de datos, aparece un error de búsqueda fallida y un error de "Error al cargar el recurso: net::ERR_CONNECTION_REFUSED". Creo que esto se debe a que el servidor está en la ubicación correcta (en cuanto a IP), pero esta aplicación se creó para ejecutarse localmente, por lo que se espera que el cliente esté en la red localhost, no en la URL de heroku que tiene ahora. Cambié las variables ENV varias veces para ver qué combinación de direcciones funcionaría para el servidor y el cliente, sin embargo, nada cambió. Publicaré mi código del lado del servidor y las variables ENV a continuación:

 const { ApolloServer } = require('apollo-server-express'); const cors = require('cors'); const express = require('express'); const mongoose = require('mongoose'); const resolvers = require('./resolvers/root-resolver'); const { typeDefs } = require('./typedefs/root-def'); const serverOptions = require('./server-config'); require('dotenv').config(); const { MONGO_URI, BACKEND_PORT, CLIENT_LOCAL_ORIGIN, SERVER_LOCAL_DOMAIN } = process.env; // create express server handling our middleware const app = express(); // since we presume cors is enabled, this next step is not optional, so cors // is enable here instead of in options app.use(cors({ origin: CLIENT_LOCAL_ORIGIN, credentials: true })); const corsPolicy = async(req, res, next) => { /* TODO for 316 students: res.set(), Access-Control-Allow-Origin and Access-Control-Allow-Credentials headers, have them set these, inspect error messages, understand why they're needed */ res.set("Access-Control-Allow-Origin", req.headers.origin.toString()); res.set("Access-Control-Allow-Credentials", true); next(); } app.options('*', cors()); app.use(corsPolicy); // middleware application is configured to happen in server-config.js serverOptions(app); const server = new ApolloServer({ typeDefs: typeDefs, resolvers: resolvers, context: ({req, res}) => ({ req, res }) }); // since the express server has cors configured, cors on the apollo server // can be false; passing the same options as defined on the express instance // works as well server.applyMiddleware({ app , cors: false}); mongoose.connect(MONGO_URI, {useNewUrlParser: true , useUnifiedTopology: true}) .then(() => { app.listen({ port: BACKEND_PORT }, CLIENT_LOCAL_ORIGIN, () => { console.log(`Server ready at ${SERVER_LOCAL_DOMAIN}:${BACKEND_PORT}`); }) }) .catch(error => { console.log(error) });

[Variables ENV][1] [1]: https://i.stack.imgur.com/5nqmp.png

about 4 years ago · Juan Pablo Isaza
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