【问题标题】:web app hosted on GCP VM not accessible on certain internet connections托管在 GCP 虚拟机上的 Web 应用在某些 Internet 连接上无法访问
【发布时间】:2021-10-12 10:11:01
【问题描述】:

我在 GCP 虚拟机上部署了一个 Web 应用程序。 Django 后端(在端口 8000 上运行)和 react 构建文件(在 nginx 端口 8080 上)都在 VM 中正常运行。另外,我可以设置一个域,并且在我尝试时可以访问该应用程序。

我设置了防火墙以阻止所有外部访问,这些访问不限于应用程序使用的端口。 (仅端口 8080 和 8000 可用)除此之外,还通过防火墙配置启用了 HTTP/HTTPS 连接。

我注意到一些客户报告他们无法访问该应用程序。我做了一些调查,似乎他们的后端请求没有通过。该问题在某些 Internet 连接上仍然存在,与设备无关。

我之前运行过类似的设置,没有明显问题。如果有人能指导我解决问题的步骤,我将不胜感激。

【问题讨论】:

  • 我在网站上遇到了类似的问题,停用我的网络适配器(在我的工作站上)上的 IPv6 解决了这个问题。你可以试试这个方法……
  • @guillaumeblaquiere 你的意思是改变我笔记本电脑上的配置吗?还是在路由器本身上?因为我可以通过不同的互联网连接从同一台笔记本电脑访问网络应用程序。
  • @ Mohamad El Baba,他们是否遇到超时,或者他们是否获得了特定的 HTTP 返回码?如果启用了 FW 规则日志记录,则共享日志以进行进一步的故障排除步骤。
  • 我超时了。是的,使用同一台笔记本电脑(在 Windows 上),您可以更改网络适配器属性并取消选择 IPv6 支持。这可能是一个死胡同,但测试起来又快又容易!
  • @Rameshkollisetty 连接没有建立,所以连接会在一段时间后超时。但是,当我运行 VPN 时,连接到服务器没有问题。

标签: google-cloud-platform deployment web-applications google-compute-engine firewall


【解决方案1】:

我能够通过更改用于 Django 应用程序的端口来解决此问题。即使在创建机器的新映像并在那里测试应用程序之后,端口 8000 也无法正常工作。切换到 5000 端口后,一切似乎都正常了。

虽然这篇文章中的 cmets 对我不起作用,但应遵循以下步骤来解决类似问题:

  1. 禁用您机器上的 IPV6 适配器(如果问题是 特定设备)
  2. 在另一个 VM 实例上重新部署相同的应用程序作为故障 硬件存在并且可能发生类似问题(对于任何云 服务)
  3. 确保主机级别没有防火墙(检查 通过 SSH 连接到机器的防火墙)
  4. 确保该端口没有被其他人使用 应用程序/服务
  5. 确保端口没有在防火墙设置中被阻止(防火墙 管理与机器的连接的服务)
  6. 如果一切都失败了,请尝试一个新端口

【讨论】:

    猜你喜欢
    • 2016-05-24
    • 2021-06-15
    • 2013-12-10
    • 2020-05-22
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多