AppEngine 的主机文件映射等价物是啥?

Posted

技术标签:

【中文标题】AppEngine 的主机文件映射等价物是啥?【英文标题】:What is the equivalent of a hosts file mapping for AppEngine?AppEngine 的主机文件映射等价物是什么? 【发布时间】:2020-10-29 23:09:18 【问题描述】:

我们的 AppEngine 应用程序正在连接到需要 *** 的远程服务,并且还要求我向本地计算机上的 hosts 文件添加条目以连接到他们的端点。 例如

10.200.30.150 foo.bar.com

这在本地运行应用程序时工作正常,但我不知道如何在 Google Cloud 上设置它以在部署后工作。 我不能直接使用 IP 地址,因为它错误地认为 IP 不在证书列表中。

如何将主机名映射到 Google Cloud 中的 IP,以便 AppEngine 可以使用它们?

【问题讨论】:

您能否添加一些详细信息,说明您到目前为止尝试了什么和/或收到的错误消息(来自部署、连接、SSL)。我也想知道 App Engine 是标准版还是灵活版。 我使用 Cloud *** 建立了 *** 连接,并带有一个显示它已启动并正在运行的 *** 隧道。我浏览了很多关于路由的文档,但那里列出的用例似乎与我正在寻找的不匹配,而且大部分似乎都集中在 VPC 内连接,或连接到本地 Intranet。我们正在连接到需要 *** 和主机映射的第 3 方服务,因此我们无法控制它。我尝试直接连接到 IP,但它出错:主机名/IP 与证书的替代名称不匹配:IP 不在证书列表中 看起来我们正在使用 App Engine Flexible 【参考方案1】:

根据评论中提到的错误,我怀疑直接通过 IP 连接失败,因为证书无法将 IP 到 DNS 映射识别为有效,因此安全连接设置中断。根据通过 *** 连接到 API 和调整主机映射的要求,您可以尝试一些事情。

最简单的可行方法是使用 Google Compute Engine 虚拟机实例,因为您可以在那里操作 etc/hosts 文件并复制本地机器设置。此 VM 可以用作主应用服务,也可以用作从 App Engine 到第 3 方 API 端点的代理。要走这条路,我建议看看这些twoposts,它解释了如何更改 GCE 上的etc/hosts 文件(更改文件一次不起作用,因为 VM 会定期覆盖它,请参阅帖子cronjob 之类的解决方法)。

另外,当您的应用在 App Engine 柔性环境中运行时,有机会提供一个 docker 容器来打包应用。可以在 docker 文件中设置上述解决方法,并使其在 App Engine 中也能正常工作。

【讨论】:

谢谢。我正在尝试让 docker 映像正常工作,但结果证明工作量很大......我会尽快接受 :) 好的,终于搞定了。对于其他看到这个的人,我根据谷歌的谷歌应用程序图像之一创建了一个 docker 图像,然后运行一个启动脚本,用我需要的条目更新 /etc/hosts 文件。

以上是关于AppEngine 的主机文件映射等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 的 nginx 等价物是啥

API 等价于 etc/hosts?

路由器中的DMZ主机是啥原理

Kotlin 中的 Python 列表、集合和映射推导等价物是啥?

Docker映射配置文件到宿主机

linux12企业实战 -- 03docker elasticsearch单机映射文件到宿主机