• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

vHost 1xhttp + 2xhttps

MisterMan

New Member
Hallo zusammen,

nach langer langer begeisterter Nginx zeit, muss ich mich mal wider mit Apache beschäftigen, doch ist mir hier die Praxis etwas verloren gegangen. Zu meiner Situation:

site1.example --> http
site2.example --> http + https
IP-Adresse: 1

Meine vHost:
site1.example.conf
Code:
<VirtualHost *>
ServerName site1.example
ServerAlias *.site1.example
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</VirtualHost>

<VirtualHost *:443>
 DocumentRoot /srv/http/site1.example/web
 ServerName site1.example
 ServerAlias *.site1.example
 ServerAdmin webmaster@site1.example
 SSLEngine on
 SSLCertificateKeyFile /etc/apache2/mycert/site1.example.key
 SSLCertificateFile /etc/apache2/mycert/site1.example.crt
 <Directory /srv/http/site1.example/web>
  AllowOverride None
  Require all granted
 </Directory>
</VirtualHost>


site2.example.conf
Code:
<VirtualHost *>
 DocumentRoot /srv/http/site2.example/web
 ServerName site2.example
 ServerAlias *.site2.example
 ServerAdmin webmaster@site2.example
 <Directory /srv/http/site2.example/web>
  AllowOverride None
  Require all granted
 </Directory>
</VirtualHost>

Mit dieser Konfiguration erreiche ich folgendes:
http://serverip --> öffnet site2.example
https://serverip --> öffnet site1.example

http://site1.example--> öffnet site1.example
https://site1.example--> öffnet site1.example

http://site2.example--> öffnet 404 error
https://site2.example--> öffnet site1.example


Unter Nginx ist eine korrekte Konfiguration kein Probblem, aber wie kann ich dies mit einem Apache lösen?

OS: OpenSuse 13.2

Grüße
Peter
 
Du hast nur eine Konfiguration für https - also kann nur diese eine Seite per https aufgerufen werden. Bei mehreren wäre außerdem SNI notwendig.
Warum verwendest du Rewrite-Rules? Eine Weiterleitung von http auf https läßt sich viel effizienter durch einen RedirectPermanent erreichen.
Bei Verwendung der IP-Adresse statt des Hostnamens wird der erste virtuelle Host verwendet, der für den Port konfiguriert ist.
ServerAlias *.site1.example macht übrigen bei https nur Sinn, wenn das Zertifikat auf ein Wildcard-Zertifikat für site1.example ist - sonst gibts zumindest 'nen Zertifikatsfehler.
 
Back
Top