将Google域名设置为使用https

时间:2018-03-26 14:45:21

标签: https google-domains

我从Google购买了一个域名(例如example.com),我的Django应用程序(例如,mysite.herokuapp.com)在Heroku上运行。 CNAME设置在Google上以将http请求转发到Heroku上的Django应用程序。从http://mysite.example.commysite.herokuapp.com的转发请求工作正常。

最近,我需要向我的应用程序介绍progressive-web-application,它需要https协议,而不是http,也就是说,现在网址必须是https://mysite.example.com它对谷歌域名不起作用。我尝试了https://mysite.herokuapp.com,它运行正常,这意味着Heroku已经支持https。但是,我在没有找到解决方案的情况下试了很长时间(也用谷歌搜索过)。

那么如何设置Google域使用https协议?

4 个答案:

答案 0 :(得分:4)

来自Google的DNS回答不能包含端口或协议(http与https),它只包含主机名。

您需要在Heroku django应用中添加从http到https的重定向,例如, here了解更多说明。

答案 1 :(得分:2)

您不需要更改Google,这是您的Django配置。

SECURE_SSL_REDIRECT设置为True,并在您的应用中启用SecurityMiddleware,并且所有请求都应自动从HTTP重定向到HTTPS。

答案 2 :(得分:1)

切换到HTTPS时,您需要将证书添加到heroku,并且该过程会将主机从“mysite.heroku.com”更新为“tokyo-2121.herokussl.com”。您需要更新DNS以从HTTP和HTTPS的新SSL兼容heroku实例提供HTTPS页面。

这是一个教程,概述了与Godaddy的过程,它应该是非常相似或所有DNS提供商。

http://www.joshwright.com/tips/setup-a-godaddy-ssl-certificate-on-heroku

答案 3 :(得分:0)

刚从Heroku的一位工程师那里得到解决方案:

1)将Heroku应用程序升级为付费应用程序(例如Hobby

2)在DNS提供商的设置中,将DNS目标设置为<app_name>.<domain>.herokudns.com(例如,&#34; mysite.example.com.herokudns.com&#34;)

3)运行$ heroku certs:auto:refresh -a <app_name>(例如$ heroku certs:auto:refresh -a mysite