正在设置 Google 个域以使用 https
Setting Google domains to use https
我从 Google 购买了一个域(比如 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
并且它不适用于 Google 域。我试过 https://mysite.herokuapp.com
并且工作正常,这意味着 Heroku 已经支持 https
。然而,我试了(也用谷歌搜索了)很长时间都没有找到解决方案。
那么如何设置 Google 域以使用 https
协议?
来自 Google 的 DNS 答案不能包含端口或协议(http 与 https),它只包含主机名。
您需要在 Heroku django 应用程序中添加从 http 到 https 的重定向,参见例如here 更多说明。
切换到 HTTPS 时,您需要向 heroku 添加证书,该过程会将主机从 "mysite.heroku.com" 更新为 "tokyo-2121.herokussl.com" 之类的东西。您将需要更新您的 DNS 以从新的 SSL 兼容 heroku 实例为 HTTP 和 HTTPS 提供 HTTPS 页面。
这里有一个教程,概述了与 Godaddy 的过程,它应该非常相似或所有 DNS 提供商。
http://www.joshwright.com/tips/setup-a-godaddy-ssl-certificate-on-heroku
您需要更改的不是 Google,而是您的 Django 配置。
在您的应用中设置 SECURE_SSL_REDIRECT to True, and enable the SecurityMiddleware,任何请求都应自动从 HTTP 重定向到 HTTPS。
刚刚从一位 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
)
我从 Google 购买了一个域(比如 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
并且它不适用于 Google 域。我试过 https://mysite.herokuapp.com
并且工作正常,这意味着 Heroku 已经支持 https
。然而,我试了(也用谷歌搜索了)很长时间都没有找到解决方案。
那么如何设置 Google 域以使用 https
协议?
来自 Google 的 DNS 答案不能包含端口或协议(http 与 https),它只包含主机名。
您需要在 Heroku django 应用程序中添加从 http 到 https 的重定向,参见例如here 更多说明。
切换到 HTTPS 时,您需要向 heroku 添加证书,该过程会将主机从 "mysite.heroku.com" 更新为 "tokyo-2121.herokussl.com" 之类的东西。您将需要更新您的 DNS 以从新的 SSL 兼容 heroku 实例为 HTTP 和 HTTPS 提供 HTTPS 页面。
这里有一个教程,概述了与 Godaddy 的过程,它应该非常相似或所有 DNS 提供商。
http://www.joshwright.com/tips/setup-a-godaddy-ssl-certificate-on-heroku
您需要更改的不是 Google,而是您的 Django 配置。
在您的应用中设置 SECURE_SSL_REDIRECT to True, and enable the SecurityMiddleware,任何请求都应自动从 HTTP 重定向到 HTTPS。
刚刚从一位 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
)