https を使用しているときに、あるサーバーが誤って別のサーバーにリダイレクトされる

https を使用しているときに、あるサーバーが誤って別のサーバーにリダイレクトされる

2 つの Web サイトを持つサーバーがあります。1 つは https ですが、もう 1 つは 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>

これは2番目のサイト構成です

<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 なしで最初の Web サイトにアクセスすると、常に自動的に https バージョンにリダイレクトされます。

答え1

2番目のサイトに追加

<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>

ソース:http://forum.slicehost.com/index.php?p=/discussion/2731/mix-of-ssl-and-non-ssl-sites-on-apache-2-2/p1

関連情報