web-dev-qa-db-ja.com

httpsからhttpsへのApacheリダイレクト

書き換えルールなしで、たとえば https://www.domain.com から https://www.domain.net にリダイレクトしようとしています。 * .domain.netのワイルドカード証明書を持っています。これにより、error_logに次の警告が表示されます

[警告] RSAサーバー証明書のワイルドカードCommonName(CN) `* .domain.net 'がサーバー名と一致しません!?

これは理にかなっており、警告の理由を理解しています。警告なしに上記を実行するためにリダイレクトディレクティブを使用する方法があるかどうかを尋ねたいと思います。これがssl.confの私の仮想ホストです:

<VirtualHost *:443>
    SSLEngine on
    ServerName www.domain.net
    DocumentRoot /var/www/html/domain

    SSLOptions -FakeBasicAuth -ExportCertData +StrictRequire +OptRenegotiate -StdEnvVars
    SSLStrictSNIVHostCheck off
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    ServerName www.domain.com
    ServerAlias www.domain.info
    Redirect permanent / https://www.domain.net
</VirtualHost>

また、解決策がある場合、それをhtps://domain.comからhtps://www.domain.comへのリダイレクトに使用できますか?どうもありがとう!

3

基盤となるHTTPS接続のSSLハンドシェイクおよび検証プロセスは、実際の要求が送信される前に発生することに注意してください。つまり、サーバー証明書の信頼性が検証されるまで、サーバーからのHTTP応答はなく、リダイレクトも行われません。

エンドポイントが1つしかない(つまり、パブリックIPアドレスが1つしかない)場合は、SAN証明書、つまりの証明書を購入する必要があります。サブジェクト代替名

そうすれば、SAN *.domain.netwww.domain.comのワイルドカード証明書を取得でき、証明書の警告は表示されません。

詳細については、 私が与えた古い回答 をチェックしてください。同様の状況で、nginxの代わりにApacheを使用します。

3

www.domain.com(さらに言えばwww.domain.info)はwww.domain.netと同じドメインではないため、警告が表示されます。この警告を回避する必要がある場合は、これらのドメインの証明書も必要です。

2
Michael Hampton