尝试使用授权令牌访问 API 时在 Zappa 中遇到问题
Facing issue in Zappa when try to access the API with Authorization token
我已经在 AWS Lambda 中使用 Django 和 Django-REST-Framework 以及 Zappa 实现了 API 服务器。我使用 Auth0 作为身份。当我尝试从本地主机注册或登录时,它运行良好,但当我尝试从 AWS 域执行相同操作时,它会抛出 timeout
错误。
URL:
https://api.bearete.com/api/v1/signup/
日志:
Starting new HTTPS connection (1): arete.auth0.com
Task timed out after 30.03 seconds
我需要帮助来解决这个问题。谢谢。
正如@MattHealy 正确建议的那样,AWS Lambda 在 VPC 中运行,默认情况下 lambda 不提供互联网访问权限。
When you enable VPC, your Lambda function will lose default internet access. If you require external internet access for your function, ensure that your security group allows outbound connections and that your VPC has a NAT gateway.
为了解决这个问题,创建几个 public 个子网(至少 2 个)分配给 IGW
(Internet 网关)并创建几个私有子网(至少 2 个)分配给一个NAT
网关并相应地修改 IGW
和 NAT
的路由 table 以完成连接。现在,将私有子网分配给 Lambda 和相应的安全组,您的 lambda 将具有互联网连接。
我已经在 AWS Lambda 中使用 Django 和 Django-REST-Framework 以及 Zappa 实现了 API 服务器。我使用 Auth0 作为身份。当我尝试从本地主机注册或登录时,它运行良好,但当我尝试从 AWS 域执行相同操作时,它会抛出 timeout
错误。
URL: https://api.bearete.com/api/v1/signup/
日志:
Starting new HTTPS connection (1): arete.auth0.com
Task timed out after 30.03 seconds
我需要帮助来解决这个问题。谢谢。
正如@MattHealy 正确建议的那样,AWS Lambda 在 VPC 中运行,默认情况下 lambda 不提供互联网访问权限。
When you enable VPC, your Lambda function will lose default internet access. If you require external internet access for your function, ensure that your security group allows outbound connections and that your VPC has a NAT gateway.
为了解决这个问题,创建几个 public 个子网(至少 2 个)分配给 IGW
(Internet 网关)并创建几个私有子网(至少 2 个)分配给一个NAT
网关并相应地修改 IGW
和 NAT
的路由 table 以完成连接。现在,将私有子网分配给 Lambda 和相应的安全组,您的 lambda 将具有互联网连接。