在 Ubuntu 16.04.2 上使用 Apache 2.4.18
我将 blog.ryangiglio.com 设置为虚拟主机。我使用 letsencrypt certbot 为服务器生成 SSL 证书,并将其设置为强制重定向http://blog.ryangiglio.com到https://blog.ryangiglio.com。当你直接进入https://blog.ryangiglio.com,一切都很好。但如果你去http://blog.ryangiglio.com相反,你会被重定向到http://www.blog.ryangiglio.com这并不存在,也不应该存在。
该域名的 Web 根目录中没有可能导致冲突的 .htaccess 文件。
这是 blog.ryangiglio.com.conf 配置文件
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName blog.ryangiglio.com
DocumentRoot /var/www/blog.ryangiglio.com/public_html
ErrorLog /var/www/blog.ryangiglio.com/error.log
# CustomLog /var/www/blog.ryangiglio.com/access.log combined
<Directory /var/www/blog.ryangiglio.com/public_html/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =blog.ryangiglio.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
以及由 certbot 生成的 blog.ryangiglio.com-le-ssl.conf 文件
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName blog.ryangiglio.com
DocumentRoot /var/www/blog.ryangiglio.com/public_html
ErrorLog /var/www/blog.ryangiglio.com/error.log
# CustomLog /var/www/blog.ryangiglio.com/access.log combined
<Directory /var/www/blog.ryangiglio.com/public_html/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLCertificateFile /etc/letsencrypt/live/blog.ryangiglio.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blog.ryangiglio.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
</IfModule>
我没有在这两个文件中发现任何可能导致错误的内容。有人有什么建议吗?
谢谢