항상 domain.com으로 전달하도록 zonefile 또는 letsencrypt를 사용하여 www.domain.com 및 domain.com을 구성합니다.

항상 domain.com으로 전달하도록 zonefile 또는 letsencrypt를 사용하여 www.domain.com 및 domain.com을 구성합니다.

항상 다음과 같은 결과를 가져오는 예가 있습니다.https://example.com, 사용자가 입력하는 경우에도www.example.com, https 여부. 이상적으로는 자동화된 letsencrypt config 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 AND https 요청을 다음으로 리디렉션하려면 어떻게 해야 합니까?www.example.com에게https://example.com?

답변1

고객이 도착https://www.example.com따라서 리디렉션을 수행하더라도https://example.com당신은 필요두 개의 SSL 인증서(하나는 example.com용이고 다른 하나는www.example.com) 또는두 도메인 모두에 유효한 단일 SSL 인증서.

당신이 사용하는 경우인증봇Let's Encrypt 인증서를 발급하려면 여러 -d매개변수를 사용하여 여러 도메인을 지정할 수 있습니다. 예를 들면 다음과 같습니다.

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

관련 정보