web-dev-qa-db-ja.com

httpsを使用するようにGoogleドメインを設定する

Googleからドメイン(たとえば、example.com)を購入し、Djangoアプリケーション(たとえば、mysite.herokuapp.com)はHerokuで実行されます。CNAMEはGoogleで転送するように設定されています。 HerokuのDjangoアプリケーションへのhttpリクエスト。http://mysite.example.comからmysite.herokuapp.comへのリクエストの転送は問題なく機能します。

最近、アプリケーションにprogressive-web-applicationを導入する必要があり、httpsではなくhttpプロトコルが必要です。つまり、URLはhttps://mysite.example.comである必要があります。 Googleドメインでは機能しません。 https://mysite.herokuapp.comを試しましたが、正常に動作します。つまり、Herokuはすでにhttpsをサポートしています。しかし、私は解決策を見つけることなく長い間試しました(そしてグーグルもしました)。

では、httpsプロトコルを使用するようにGoogleドメインを設定するにはどうすればよいですか?

6
Randy Tang

Herokuのエンジニアの1人から解決策を得ました:

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

0
Randy Tang

GoogleからのDNS回答には​​、ポートまたはプロトコル(httpとhttps)を含めることはできず、ホスト名のみを含めることができます。

Heroku Djangoアプリで、httpからhttpsへのリダイレクトを追加する必要があります。詳細については、たとえば here を参照してください。

4
Bernhard

変更する必要があるのはGoogleではなく、Django構成です。

SECURE_SSL_REDIRECT をTrueに設定し、アプリで SecurityMiddleware を有効にすると、リクエストはすべてHTTPからHTTPSに自動的にリダイレクトされます。

2
Stobor

HTTPSに切り替えるときは、herokuに証明書を追加する必要があります。そのプロセスにより、ホストが「mysite.heroku.com」から「tokyo-2121.herokussl.com」のように更新されます。 HTTPとHTTPSの両方で新しいSSL準拠のherokuインスタンスからHTTPSページを提供するには、DNSを更新する必要があります。

これは、Godaddyでのプロセスの概要を説明するチュートリアルです。これは、非常に類似しているか、すべてのDNSプロバイダーである必要があります。

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

1
Nick Ellis