Google Cloud App Engine与Django:如何配置域名使其正常访问?
问题描述
- 已在Google Cloud标准环境App Engine部署Django项目,域名在Google Domains注册,自定义域名已确认指向该项目;
- 可通过项目默认域名
https://mooveup-9645.oa.r.appspot.com正常访问项目; - 访问自定义域名
https://my-domain.fr时无法打开网站。
问题:需要在何处添加域名?同时询问以下Django设置方案是否合适,还是需要在GCP中进行其他配置步骤?
if APPENGINE_URL: # Ensure a scheme is present in the URL before it's processed. if not urlparse(APPENGINE_URL).scheme: APPENGINE_URL = f"https://{APPENGINE_URL}" ALLOWED_HOSTS = [urlparse(APPENGINE_URL).netloc, "www.my-domain.fr", "my-domain.fr"]
解决方案
GCP端必须完成的配置步骤
- 登录App Engine控制台,进入「自定义域名」页面,确认已添加并验证
my-domain.fr和www.my-domain.fr两个域名。验证过程需在Google Domains的DNS设置中添加指定TXT记录,完成后等待GCP确认验证状态。 - 检查Google Domains的DNS配置:确保已将自定义域名的CNAME记录(或A/AAAA记录)指向App Engine提供的目标地址(如
ghs.googlehosted.com),可使用nslookup my-domain.fr命令确认DNS解析是否生效。 - 确认SSL证书状态:App Engine会自动为Google Domains注册的域名颁发免费SSL证书,但需等待证书部署完成(一般10分钟到几小时),若证书未生效,HTTPS访问会直接失败。
Django端配置说明
你当前的ALLOWED_HOSTS配置是合适的,已正确包含App Engine默认域名和自定义域名,这一步是必须的——Django会拒绝所有不在ALLOWED_HOSTS列表中的请求来源,缺少自定义域名会直接导致访问被拒绝。
另外注意:如果你的Django项目启用了SECURE_SSL_REDIRECT设置,必须确保自定义域名的SSL证书已生效,否则会出现重定向循环问题。
内容的提问来源于stack exchange,提问作者Fabrice Jaouën
相关产品推荐
相关产品推荐

