www.domain.com と domain.com をゾーンファイルまたは letsencrypt で設定して、常に domain.com に転送する

www.domain.com と domain.com をゾーンファイルまたは letsencrypt で設定して、常に domain.com に転送する

いつもこうなる例がありますhttps://example.comユーザーが入力しているときでも参考文献、https かどうか。理想的には、自動化された letsencrypt 構成 https 構成ファイルが機能するはずです。

  • www の A レコードを削除し、代わりに CNAME を使用して example.com または @ を指すようにしてみました。これは効果がないようで、ユーザーは引き続き www にアクセスしてしまいます。理由はわかりません。

これが私の現在の設定です:

<VirtualHost [IPV6]:80 IPV4:80>
    ServerAdmin [email protected]
    DocumentRoot /home/example/public_html
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog logs/example.error.log
    CustomLog logs/example.acccess.log common
    <Directory /home/example/public_html>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    RewriteEngine on 
    RewriteCond %{SERVER_NAME} =example.com [OR] 
    RewriteCond %{SERVER_NAME} =www.example.com 
    RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent] 
</VirtualHost>

<VirtualHost [IPV6]:443 IPV4:443>
    ServerAdmin [email protected]
    DocumentRoot /home/example/public_html
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog logs/example.error.log
    CustomLog logs/example.acccess.log common
    <Directory /home/example/public_html>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
</VirtualHost>

しかし、https://www.example.com:443 構成にこれを追加しても、不正な証明書がスローされます:

    RewriteCond %{SERVER_NAME} =www.example.com 
    RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent] 

httpとhttpsのリクエストをリダイレクトするにはどうすればいいですか?参考文献https://example.com?

答え1

クライアントが到着https://www.example.comリダイレクトしたとしてもhttps://example.com必要なのは2つのSSL証明書(1つはexample.com用、もう1つは参考文献) または両方のドメインに有効な単一のSSL証明書

使用している場合証明書ボットLet's Encrypt 証明書を発行するには、複数の-dパラメータを使用して複数のドメインを指定できます。たとえば、次のようになります。

certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com

関連情報