如何在Heroku上强制启用www前缀访问?
解决方案
1. 配置Infomaniak的DNS记录
- 登录Infomaniak域名管理后台,进入DNS设置界面
- 添加对应记录:
- 若支持ALIAS/ANAME记录(裸域名推荐用这个):主机名留空(代表裸域名
{{domain}}),目标值填写你的Heroku应用域名(如yourapp.herokuapp.com) - 若无ALIAS选项,可添加CNAME记录(部分域名服务商支持裸域名CNAME):同样主机名留空,目标填Heroku应用域名
- 若支持ALIAS/ANAME记录(裸域名推荐用这个):主机名留空(代表裸域名
- 保存设置后等待DNS生效(通常10分钟至数小时)
2. 在Heroku绑定裸域名
- 打开Heroku CLI,登录后执行命令绑定裸域名:
heroku domains:add {{domain}} --app 你的应用名称 - 配置SSL证书:如果使用Heroku专业版及以上套餐,启用自动SSL即可:
自动SSL会为绑定的所有域名生成并部署证书heroku certs:auto:enable --app 你的应用名称
3. 更新Django的ALLOWED_HOSTS
- 打开Django项目的
settings.py,将裸域名加入允许访问的主机列表:ALLOWED_HOSTS = ['www.{{domain}}', '{{domain}}', 'yourapp.herokuapp.com'] - 重新部署Django应用到Heroku,确保新配置生效
4. 可选:强制HTTPS重定向
- 在
settings.py中启用安全中间件并配置HTTPS重定向:
此设置会将所有HTTP请求(包括裸域名的HTTP访问)重定向到HTTPS版本SECURE_SSL_REDIRECT = True SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
内容的提问来源于stack exchange,提问作者NuGET
相关产品推荐
相关产品推荐

