Fre*_*ooc 1 google-app-engine cloudflare
我正在尝试使用Cloudflare for Saas配置我的 Google App Engine 实例,更准确地说是使用 Cloudflare for SaaS产品的 SSL。目标是我可以向我的客户提供一个“自定义域”(也称为“虚荣域”),这样他们就不会访问dashboard.mywebsite.com,而是访问app.customerwebsite.com。
为了确保我的 App Engine 实例能够正确地在 上提供内容dashboard.mywebsite.com,我进行了以下操作:
dashboard.mywebsite.com。app.yaml配置文件:runtime: nodejs14
env_variables:
NODE_ENV: 'production'
basic_scaling:
max_instances: 10
idle_timeout: 5m
Run Code Online (Sandbox Code Playgroud)
dashboard.mywebsite.com可以完美运行我等了几个小时,确认可以dashboard.mywebsite.com正确解析并提供我的内容(来自 Google App Engine)。
根据Cloudflare 文档,我必须注册后备源(即dashboard.website.com),然后配置自定义主机名(例如app.customerwebsite.com)。我做到了。
现在,再次根据Cloudflare 文档,我的客户必须创建一条CNAME记录。我对我的域名做了如下操作:
app.customerwebsite.com CNAME dashboard.mycompany.com
Run Code Online (Sandbox Code Playgroud)
我又等了几个小时。然后,当我app.customerwebsite.com在浏览器中打开时,它显示 Google 404 错误页面而不是仪表板。这让我认为 Cloudflare 成功地将流量“重定向”到 Google,但 App Engine 拒绝为其提供服务。大概是因为不知道吧app.customerwebsite.com?
有什么想法会有帮助吗?
正如您所注意到的,该问题与 Cloudflare 无关,而是与 App Engine 有关。您的配置问题在于,当 App Engine 收到请求时,Host它会根据标头将请求转发到正确的实例。
App Engine 允许您映射之前已由 Google 验证过的任何自定义域。但在您的情况下,这意味着您必须在 App Engine 实例上注册客户的每个自定义域。这太麻烦了(如果可能的话)。
您需要执行以下操作:
dashboard CNAME ghs.googlehosted.com为dashboard A YOUR_IP_ADDRESSGoogle 的文档提供了有关如何使用 Cloud Run 设置负载均衡器的精彩指南。通过更改一些设置,它可以很好地与 App Engine 配合使用。作为额外的帮助,下面是我们的负载均衡器的配置详细信息,它允许我们通过 Google Cloud 向客户提供个性化域名/自定义域名:
同样,负载均衡器负责将您的 IP 地址收到的所有请求(无论标头Host)直接映射到您的 App Engine 实例。
dispatch.yaml作为最佳实践,将文件推送到您的实例可能会很有用:
dispatch:
- url: '*/*'
service: default
Run Code Online (Sandbox Code Playgroud)
它告诉 App Engine 将所有请求发送到该default服务。它的工作方式有点像 Apache 服务器上的通配符虚拟主机。
| 归档时间: |
|
| 查看次数: |
766 次 |
| 最近记录: |