web-dev-qa-db-ja.com

WebアプリケーションのHttpsバージョンは機能していませんが、httpは機能していますか?

素敵なhttps:アドレスを提供するHerokuto Hostを使用しています:

https://some_random_string.herokuapp.com/

Namecheapを使用してDNSを設定し、次を使用してこれを行います。

CNAME Record | www | www.my_domain.herokudns.com.

MacOSbashコンソールでheroku domainsを使用してこの情報を見つけました。

www.my_domain | CNAME | www.my_domain.herokudns.com

カスタムドメインを使用すると、sがHerokuアドレスから削除されることを除いて、すべて正常に機能します。

1
J S

Herokuがhttps://アドレスを提供するが、リダイレクトできないのは少し奇妙です。

カスタマーサポートに連絡して、CNAMEを適切に設定する方法を尋ねて、作成済みの証明書を使用できるようにすることができます。

変化する.。

www.my_domain | CNAME | www.my_domain.herokudns.com

この問題を修正するための鍵です。

0
livelong.ai

Heroku Dev Centerによると アプリのカスタムドメイン名 TLSホスト名には異なるパターンがあります:

SSLエンドポイント を使用している場合は、DNSターゲットが少し異なることに注意してください。 Common Runtimeのアプリの場合、エンドポイントドメイン名はexample-12345.ssl.herokudns.comの形式の名前になります。

すべてのアプリはデフォルトの*.herokuapp.comホスト名でHTTPSで提供される可能性がありますが、独自のドメインを使用するには、一致するTLS証明書が必要です。アプリで独自の証明書を使用する手順は、 SSLエンドポイント ドキュメントに記載されています。要するに:

  1. OpenSSLを使用して秘密鍵と証明書署名要求CSRを生成します。

    openssl genrsa -des3 -out server.pass.key 2048
    openssl rsa -in server.pass.key -out server.key
    openssl req -nodes -new -key server.key -out server.csr
    
  2. CSRを使用して証明書を購入します。

  3. アドオンを作成し、証明書を追加します。

    heroku addons:create ssl:endpoint
    heroku certs:add server.crt server.key --type endpoint
    
2
Esa Jokinen