![使用 https 时,一台服务器错误地重定向到另一台服务器](https://linux22.com/image/667601/%E4%BD%BF%E7%94%A8%20https%20%E6%97%B6%EF%BC%8C%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%94%99%E8%AF%AF%E5%9C%B0%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我有一台服务器上有两个网站。其中一个有 https,另一个没有。我的问题是,当我访问没有 https 的服务器时,它会重定向到有 https 的服务器。
我正在使用 Ubuntu 12.04.5 LTS 和 Apache 2.2,我尝试查找我使用重写的每个地方,但它们都没有帮助我。
这是第一个网站(具有 https)的配置
<VirtualHost *:80>
ServerName www.first_site.com.br
ServerAlias www.first_site.com.br
ServerAdmin info@first_site.com.br
DocumentRoot /var/www/first_site
ErrorLog /var/log/apache2/first_site/error.log
LogLevel warn
CustomLog /var/log/apache2/first_site/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName www.first_site.com.br
ServerAlias www.first_site.com.br
ServerAdmin info@first_site.com.br
DocumentRoot /var/www/first_site
ErrorLog /var/log/apache2/first_site/error.log
LogLevel warn
CustomLog /var/log/apache2/first_site/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/wildSSL/STAR_first_site_com_br.crt
SSLCertificateKeyFile /etc/apache2/wildSSL/STAR_first_site_com_br.key
SSLCertificateChainFile /etc/apache2/wildSSL/STAR_first_site_com_br.ca-bundle
SSLProtocol All
</VirtualHost>
</IfModule>
这是第二个站点配置
<VirtualHost *:80>
ServerName www.second_site.com.br
ServerAlias www.second_site.com.br
ServerAdmin info@second_site.com.br
DocumentRoot /var/www/second_site
ErrorLog /var/log/apache2/exati/error.log
LogLevel warn
CustomLog /var/log/apache2/exati/access.log combined
</VirtualHost>
此外,当我访问第一个没有 https 的网站时,它总是自动重定向到 https 版本。
答案1
添加第二个站点
<VirtualHost *:443>
ServerName www.second_site.com.br
ServerAlias www.second_site.com.br
RewriteEngine on
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=permanent]
</VirtualHost>