web-dev-qa-db-ja.com

CNAME経由でリダイレクトするには証明書が必要ですか?

abc.example.comがシャットダウンされ、すべてのデータがSSL経由で送信されました。

私はxyz.example.com既にライブで純粋なSSLサイトを持っています。 abc.example.comのレコード(CNAME)をxyz.example.comを指すように変更しています。 xyz.example.comには既に有効な証明書があります。 abc.example.comから発信されるトラフィックには証明書が必要ですか?

1
blankip

はい、abc.example.comのSSL証明書が引き続き必要です

CNAMEリダイレクトの性質により、ブラウザーでabc.example.comと入力しても、URLはabc.example.comのままであり、これがSSL証明書を必要とする場所です。


SEOのヒント

CNAMEリダイレクトの代わりに301リダイレクトを使用することもできます。これにより、abc.example.comからxyz.example.comにランキングのパワー/ジュースが渡されます。

ただし、これにはSSL証明書が必要です。

Let's Encrypt を試しましたか?無料のSSL証明書を提供する認証局。

5
Neverever

Neverever の答えは正しいです。 SSL証明書が必要です。 CNAMEリダイレクトのようなものがないためだと付け加えました。

CNAMEはリダイレクトではありません。 CNAMEは、CNAMEが指しているのと同じドメインに解決するようにDNSに指示します。 CNAMEはリダイレクトを引き起こしません。ドメインのHTTPリクエストは、別のドメインのリクエストと同じIPアドレスに対してのみ行われます。

ブラウザとオペレーティングシステムがhttps://site1.example/からhttps://site2.example/へのリダイレクトを取得するために実際に使用するプロセスは次のとおりです。

  1. site1.exampleのDNSルックアップ。 site2.exampleのCNAMEであることがわかります。
  2. site2.exampleのDNSルックアップ。 IPアドレスのAレコードを見つけます(たとえば、192.0.2.4)。
  3. ポート443でIPアドレス192.0.2.4へのソケットを開きます。
  4. ドメインsite1.exampleのTLS(SSL)をネゴシエートします。
  5. https://site1.example/のHTTPSリクエストを作成します。

    GET / HTTP/1.1
    Host: site1.example
    
  6. リダイレクトで応答を取得します。

    301 Moved Permanently
    Location: https://site2.example/
    
  7. site2.exampleに対して別のDNSルックアップを実行します。 IPアドレスのAレコードを見つけます(たとえば、192.0.2.4)。今回は、DNS応答がDNSキャッシュから送信されます。
  8. ポート443でIPアドレス192.0.2.4へのソケットを開きます。
  9. ドメインsite2.exampleのTLS(SSL)をネゴシエートします。
  10. https://site2.example/のHTTPSリクエストを作成します。

    GET / HTTP/1.1
    Host: site2.example
    
  11. コンテンツで応答を取得します。

    200 OK
    ...
    

HTTPSリクエストをリダイレクトするには、そのドメインのDNS、そのドメインのWebサーバー、そのドメインのSSLが必要です。 CNAMEレコードを使用するか、Aレコードを使用するかは、実際には関係ありません。リダイレクトはどちらの方法でも発生します。

実際、Aレコードはほとんど常により効率的です。 DNSルックアップは、Aレコードよりも直接CNAMEレコードの方が高速です。 CNAMEレコードには2回目のDNSルックアップが必要であり、残りのリダイレクトプロセスを簡単にしないでください。

3