【发布时间】:2019-03-26 20:51:04
【问题描述】:
编辑:我将重定向线从虚拟主机中取出,用于两个不起作用的域。重新启动 Apache 后,两个站点的 HTTP 和 HTTPS 版本都按预期工作,但不再自动重定向(显然)。但是这些完全相同的重定向规则对 sidmandesign.com 工作正常
我正在使用 Ubuntu 将我的网络服务器从 IIS 服务器迁移到 LAMP 堆栈。我使用 certbot 为我的三个域安装了三个 SSL 证书。 Certbot 在 virtualhosts 目录中添加了一个 -le-ssl.conf 文件,所以我现在有了(所有在 /etc/apache2/sites-enabled/ 目录中,并在 apache.conf 中包含正确的包含):
sidmandesign.conf:
<VirtualHost *:80>
ServerName www.sidmandesign.com
ServerAlias sidmandesign.com
DocumentRoot "/var/www/html/Sidman Designs/"
RewriteEngine on
RewriteCond %{SERVER_NAME} =sidmandesign.com [OR]
RewriteCond %{SERVER_NAME} =www.sidmandesign.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
sidmandesign-le-ssl.conf:
<VirtualHost *:443>
ServerName www.sidmandesign.com
ServerAlias sidmandesign.com
DocumentRoot "/var/www/html/Sidman Designs"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/sidmandesign.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sidmandesign.com/privkey.pem
</VirtualHost>
augustinebuilders.conf:
<VirtualHost *:80>
ServerName www.augustinebuilders.com
ServerAlias augustinebuilders.com
DocumentRoot "/var/www/html/augustine/"
RewriteEngine on
RewriteCond %{SERVER_NAME} =augustinebuilders.com [OR]
RewriteCond %{SERVER_NAME} =www.augustinebuilders.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
augustinebuilders-le-ssl.conf:
<VirtualHost *:443>
ServerName www.augustinebuilders.com
ServerAlias augustinebuilders.com
DocumentRoot "/var/www/html/augustine"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/augustinebuilders.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/augustinebuilders.com/privkey.pem
</VirtualHost>
打捞的serendipity.conf:
<VirtualHost *:80>
ServerName www.salvagedserendipity.com
ServerAlias salvagedserendipity.com
DocumentRoot "/var/www/html/salvagedserendipity/"
RewriteEngine on
RewriteCond %{SERVER_NAME} =salvagedserendipity.com [OR]
RewriteCond %{SERVER_NAME} =www.salvagedserendipity.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
打捞的serendipity-le-ssl.conf:
<VirtualHost *:443>
ServerName www.salvagedserendipity.com
ServerAlias salvagedserendipity.com
DocumentRoot "/var/www/html/salvagedserendipity"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/salvagedserendipity.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/salvagedserendipity.com/privkey.pem
</VirtualHost>
Sidmandesign.com 工作正常,它重定向到 HTTPS,我可以看到所有内容。但是,当我尝试其他两个站点时,它们会重定向到 HTTPS,但我在 Chrome 中得到了 ERR_TOO_MANY_REDIRECTS,并且泛型无法在 Edge/IE 中显示此页面。
有什么想法为什么当配置看起来相同时一个域可以工作,而另外两个不工作?
【问题讨论】:
-
Include /etc/letsencrypt/options-ssl-apache.conf包含什么?验证那里是否有其他重定向。 -
@Nic3500 不,似乎只有一些安全和 SSL 设置。与重定向无关
标签: apache ssl virtualhost