Apache 2.2 + HTTPS Problem

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
thepeti
Beiträge: 3
Registriert: 03.03.2016 19:01:25

Apache 2.2 + HTTPS Problem

Beitrag von thepeti » 03.03.2016 19:07:55

Guten Abend,

ich hoffe, dass ihr nachvollziehen könnt, wo mein Problem liegt. Ich gebe mein Bestes, um es gut zu erklären. :)

Ich habe heute Domain1 mit Lets Encrypt eingerichtet. So weit, so gut - funktioniert auch alles. Es liegen noch andere Domains auf dem Server, welche alle die selbe IP, aber kein HTTPS nutzen. Lediglich Domain1 nutzt HTTPS.

Das Problem ist nun, dass alle Domains automatisch auf Domain1 redirecten, welche HTTPS nutzt. Gibt man den anderen Domains eine andere IP, passiert das nicht, ich möchte allerdings ungerne weitere IPs auf dem Server hinzufügen.

Die Virtualhost Configs sehen allesamt wie folgt aus:

Code: Alles auswählen

<VirtualHost *:80>
     ServerName domain.com
     ServerAlias www.domain.com *.domain.com
     ServerAdmin webmaster@domain.com
     DocumentRoot /home/domainXYZ/domain.com
     ErrorLog /var/log/apache2/domain.com._error_log

     LogLevel warn

     <Directory /home/domainXYZ/domain.com>
          Options -Indexes 
          AllowOverride All
          Order allow,deny
          allow from all
     </Directory>
</VirtualHost>
Bei der Domain, welche HTTPS nutzt, ist natürlich noch der Part mit *:433 drin, ansonsten selbe Angaben.

Habe ich irgendetwas übersehen, oder ist es gar ein "Bug" von Apache?

Liebe Grüße

Benutzeravatar
DeltaLima
Beiträge: 578
Registriert: 13.01.2006 15:15:02
Kontaktdaten:

Re: Apache 2.2 + HTTPS Problem

Beitrag von DeltaLima » 04.03.2016 09:18:29

Hi @thepeti

Nur, um sicherzugehen, dass ich dein Problem richtig verstanden habe:

Du hast eine Anzahl n an Domains auf deinem Apache als Vhosts konfiguriert. Egal welchen Vhost du über HTTP, also Port 80, erreichen möchtest, landest du auf dem HTTPS Vhost der Domain "Domain1", wie du sie in deinem Beispiel genannt hast. Ist das richtig?
Oder tritt das nur auf, wenn du bspw. Domain2 via HTTPS aufrufst und dann demzufolge auf "Domain1" landest, weil Apache keinen weiteren HTTPS Vhost kennt?

Am liebsten wäre mir mal deine gesamte sites-enabled Config zu sehen, schieb sie am besten mal in Pastebin o.ä. rein.

Beste Grüße!

thepeti
Beiträge: 3
Registriert: 03.03.2016 19:01:25

Re: Apache 2.2 + HTTPS Problem

Beitrag von thepeti » 04.03.2016 10:08:02

Hi DeltaLima,

also, wenn ich in jeder Vhost Config den Virtualhost mit *:80 bzw. *:433 bei der HTTPS Domain angebe, leiten ALLE anderen Domain, welche ja alle zur selben IP routen, automatisch zur HTTPS Domain.

Würde ich nun der HTTPS Domain eine IP in der Virtualhost zuweisen, also X.X.X.X:80 bzw. X.X.X.X:433 und alle anderen Domains auf eine zweite IP, tritt der Fehler nicht auf. Lediglich, wenn ich eine Domain die IP der HTTPS Domain zuweise, landet diese automatisch auch auf der HTTPS Domain, was ja logisch ist, da die IP der HTTPS Domain zugewiesen wurde.

Ich hoffe, ich konnte mich verständlich ausdrücken. :)

Benutzeravatar
DeltaLima
Beiträge: 578
Registriert: 13.01.2006 15:15:02
Kontaktdaten:

Re: Apache 2.2 + HTTPS Problem

Beitrag von DeltaLima » 04.03.2016 12:35:03

DeltaLima hat geschrieben: Am liebsten wäre mir mal deine gesamte sites-enabled Config zu sehen, schieb sie am besten mal in Pastebin o.ä. rein.
Hätte ich nach wie vor noch gern, Sonst frage ich mich dusselig was du alles in deiner config drin hast oder eben nicht drin hast. :) Tip so nebenbei: SNI benutzen. (google mal nach ssl apache sni)

Wundern tut mich, dass anscheinend bei einer Anfrage auf HTTP ein redirect geschieht.

thepeti
Beiträge: 3
Registriert: 03.03.2016 19:01:25

Re: Apache 2.2 + HTTPS Problem

Beitrag von thepeti » 04.03.2016 12:47:40

Die Config hatte ich doch oben schon gezeigt. Ich nutze für jede Domain eine extra Vhost Datei. Muss SNI, also "NameVirtualHost" denn zwingend gesetzt werden? Hatte ich bisher in all den Jahren noch nie benutzt - oder ist das bei SSL zwingend notwendig und könnte daher der Fehler sein? So wie ich das verstehe, sollte man das nur nutzen, wenn mehrere Domains auf dem Server SSL nutzen wollen, was in meinem Fall ja nicht so wäre.

Für die HTTPS Domain sieht die Config wie folgt aus:

Code: Alles auswählen

<VirtualHost X.X.X.X:80>
     ServerName domain.de
     ServerAlias www.domain.de *.domain.de
     ServerAdmin webmaster@domain.de
     DocumentRoot /home/USER/html
     ErrorLog /var/log/apache2/domain.de._error_log

     LogLevel warn

     <Directory /home/USER/html>
          Options -Indexes
          AllowOverride All
          Order allow,deny
          allow from all
     </Directory>
	
</VirtualHost>

<VirtualHost X.X.X.X:443>
     ServerName domain.de
     ServerAlias www.domain.de *.domain.de
     ServerAdmin webmaster@domain.de
     DocumentRoot /home/USER/html
     ErrorLog /var/log/apache2/domain.de._error_log

     LogLevel warn

     <Directory /home/USER/html>
          Options -Indexes
          AllowOverride All
          Order allow,deny
          allow from all
     </Directory>

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.de/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/domain.de/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.de/privkey.pem
	
</VirtualHost>
Dazu:
DeltaLima hat geschrieben:
DeltaLima hat geschrieben: Wundern tut mich, dass anscheinend bei einer Anfrage auf HTTP ein redirect geschieht.
Dieser redirect geschieht nur, wenn HTTPS und HTTP Domain auf die selbe IP geroutet werden, da ich in der HTTPS Config der Domain die IP in der VirtualHost zugewiesen habe. (denke ich jedenfalls, erscheint mir logisch)

Antworten