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_ADDRESS
Google 的文档提供了有关如何使用 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 次 |
最近记录: |