我从谷歌购买了一个域名(比如example.com),我的Django应用程序(比如说,mysite.herokuapp.com)运行在Heroku上。CNAME设置在Google上,将http请求转发给Heroku上的Django应用程序。从http://mysite.example.com到mysite.herokuapp.com的请求转发工作得很好。
最近,我需要将progressive-web-application介绍到我的应用程序中,它需要https协议,而不是http,也就是说,URL现在必须是https://mysite.example.com,而且它不适用于谷歌域。我尝试了https://mysite.herokuapp.com,它运行得很好,这意味着Heroku已经支持https。然而,我尝试了很长一段时间(也在googled上),却没有找到解决方案。
那么,我如何设置谷歌域使用https协议呢?
发布于 2018-04-06 10:15:55
刚从Heroku的一位工程师那里得到了一个解决方案:
1)将Heroku应用程序升级为付费应用程序(例如,Hobby)
2)在DNS提供程序的设置上,将DNS目标设置为<app_name>.<domain>.herokudns.com (例如,"mysite.example.com.herokudns.com")
3)运行$ heroku certs:auto:refresh -a <app_name> (例如,$ heroku certs:auto:refresh -a mysite)
发布于 2018-04-05 12:59:24
Google的DNS回答不能包含端口或协议(http与https),它只包含主机名。
您需要在Heroku应用程序中添加一个从http重定向到https的重定向,参见这里获取更多说明。
发布于 2018-04-06 02:43:45
你需要改变的不是谷歌,而是你的Django配置。
将重定向设置为True,并在应用程序中启用SecurityMiddleware,任何请求都应自动从HTTPS重定向到HTTPS。
https://stackoverflow.com/questions/49494266
复制相似问题