程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server?

开发过程中遇到如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server的问题如何解决?下面主要结合日常开发的经验,给出你关于如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server的解决方法建议,希望对你解决如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server有所启发或帮助;

我在 AWS Beanstalk nodeJs 平台上部署了 ApolloServer(没有应用 express 中间件)。

当我在调用中传递授权标头时,我收到超时响应。例如:

  • 我查询服务器以返回当前用户的数据。当我省略授权标头时,我会得到正确的响应,即用户未通过身份验证。
  • 我查询相同的端点,但在标头中提供授权。我收到 504 网关超时异常

如何复制

  • 配置 Apollo 服务器以启用 CORS
  • 在 AW EB nodeJs 上部署基本的 Apollo Server
  • 将 ALB 配置为对 443 端口使用 https 和侦听器。设置为默认值并禁用端口 80 的侦听器。
  • 无需标头中的授权即可调用授权端点。
  • 调用授权端点,包括标头中的授权。

到目前为止尝试过

  • 查看我的应用程序中的日志。如果提供授权标头,我看不到端点被调用的日志。
  • 查看 ALB 日志。我看到它将请求转发到 Nginx,响应为 504。

我的猜测是它在 Nginx 方面。我正在查看 Nginx 日志,即 access.log 目录中的文件 error.log/var/log/Nginx,但我在里面没有看到任何日志。所以我试图找出如何启用这些日志。

解决方案

我走错了路。在将我的日志流式传输到 AWS ClouDWatch 并查看实时日志后,我注意到我实际上可以看到应用程序日志并且我在标头中看到了授权。我不知道为什么我以前看不到。

无论如何,在能够跟踪应用程序日志后,我注意到我对 ElastiCache redis 的请求超时,这实际上是问题的原因。

解决方法

我走错了路。在将我的日志流式传输到 AWS CloudWatch 并查看实时日志后,我注意到我实际上可以看到应用程序日志并且我在标头中看到了授权。我不知道为什么我以前看不到。

无论如何,在能够跟踪应用程序日志后,我注意到我对 ElastiCache redis 的请求超时,这实际上是问题的原因

大佬总结

以上是大佬教程为你收集整理的如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server全部内容,希望文章能够帮你解决如果提供授权标头,则无法访问部署在 AWS Beanstalk Node.js 上的 Apollo Server所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。