Apache redirect multiple domain names from https
- by Cyril N.
My server distribute two main websites, says : www.google.com & www.facebook.com (yeah I know :p)
I want them to be distributed via https. Using Apache, I defined a vhost file in sites-available/enabled containing this :
<VirtualHost *:80>
ServerName google.com
Redirect / https://www.google.com/
</VirtualHost>
<VirtualHost *:80>
ServerName facebook.com
Redirect / https://www.facebook.com/
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /srv/www/google/www/
ServerName www.google.com
ServerAlias www.facebook.com
<Directory ... />
# Google & Facebook points to the same directory (crazy right ?)
# Next of the config
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /path/to/google.crt
SSLCertificateKeyFile /path/to/google.key
DocumentRoot "/srv/www/google/www/"
ServerName www.google.com
<Directory .../>
# Next of the config
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /path/to/facebook.crt
SSLCertificateKeyFile /path/to/facebook.key
DocumentRoot "/srv/www/google/www/"
ServerName www.facebook.com
<Directory .../>
# Next of the config
</VirtualHost>
If I access to https://www.google.com, the httpS works correctly
If I access to https://www.facebook.com, the httpS works correctly.
If I access to http://www.google.com, the http works correctly # Without https !
If I access to http://www.facebook.com, the http works correctly # Without https !
BUT :
If I access to https://facebook.com, it fails saying that the SSL connection is not what expected : Google.com instead of facebook.com
Based on my configuration file, I understand why, so I tried to add :
<VirtualHost *:443>
SSLEngine On
ServerName facebook.com
Redirect / https://www.facebook.com/
</VirtualHost>
But then, I can't even access facebook.com nor www.facebook.com via http/https.
So my question is quite simple : how can I redirect all https access to facebook.com (and eventually all sub facebooks : facebook.fr, www.facebook.fr, etc) to www.facebook.com (redirecting to www domain) in HTTPS ?
Thanks for your help ! :)