
항상 다음과 같은 결과를 가져오는 예가 있습니다.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