http://sub.site.com 错误地重定向到 http://www.sub.site.com 而不是 https://sub.site.com

http://sub.site.com 错误地重定向到 http://www.sub.site.com 而不是 https://sub.site.com

在 Ubuntu 16.04.2 上使用 Apache 2.4.18

我将 blog.ryangiglio.com 设置为虚拟主机。我使用 letsencrypt certbot 为服务器生成 SSL 证书,并将其设置为强制重定向http://blog.ryangiglio.comhttps://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>

我没有在这两个文件中发现任何可能导致错误的内容。有人有什么建议吗?

谢谢

相关内容