【问题标题】:Apollo server responding with 503 error after deploying to HerokuApollo 服务器在部署到 Heroku 后响应 503 错误
【发布时间】:2020-07-12 08:06:46
【问题描述】:

所以我的 Apollo graphql 服务器在开发中运行良好。我刚刚将我的项目部署到 Heroku,现在在进行任何查询时都会收到 503 错误。

我能够进入 graphiql 沙箱,但这些响应返回为:

SyntaxError: Unexpected token < in JSON at position 0

我正在为我的服务器使用 express,代码如下所示:

app.use(cors());

app.use(

  '/graphql',

  graphqlHTTP({

    schema: pgSchema,

    graphiql: true

  })

);

app.use(express.static('../public'));

app.get('*', (req, res) => {

  res.sendFile(path.resolve(__dirname, '../public', 'index.html'));

});

这是我在 React 项目中连接我的 Apollo 客户端的地方:

const client = new ApolloClient({
  uri: '/graphql'
});

function App() {
  return (
    <ApolloProvider client={client}>
      <Router>
        <Route exact path='/' component={Login} />
        <Route exact path='/home' component={Home} />
      </Router>
    </ApolloProvider>
  );
}

这是我从 graphql 获得的 heroku 日志:

2020-03-31T16:41:23.780542+00:00 heroku[router]: at=info method=POST path="/graphql" host=damp-ravine-76294.herokuapp.com request_id=a9e695db-63eb-476a-950f-a5d6561ff85f fwd="76.116.11.127" dyno=web.1 connect=1ms service=21ms status=200 bytes=21933 protocol=https
2020-03-31T16:45:50.392011+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=POST path="/graphql" host=damp-ravine-76294.herokuapp.com request_id=650a1d7d-7f9e-4c66-8a5d-000fc60ed29a fwd="76.116.11.127" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0 protocol=https

如果您有任何想法,请告诉我。谢谢!

【问题讨论】:

    标签: reactjs graphql apollo


    【解决方案1】:

    来自docs

    Heroku 处理的 Web 请求通过多个 Heroku 路由器定向到您的测功机。这些请求旨在由您的应用程序快速处理。最佳实践是让您的 Web 应用程序的响应时间低于 500 毫秒,这将释放应用程序以处理更多请求并为您的访问者提供高质量的用户体验。有时,您的应用程序可能会挂起或花费过多的时间来处理 Web 请求。发生这种情况时,如果完成时间超过 30 秒,路由器将终止请求。

    换句话说,如果您的应用程序发送回响应的第一个字节的时间超过 30 秒,Heroku 将终止请求并显示您看到的错误。似乎没有任何方法可以增加此超时时间。

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 2017-01-21
      • 2014-11-30
      • 2019-07-20
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      相关资源
      最近更新 更多