SSL verschlüsselte Seite

postmaster

B1G-Software-Kunde
#1
Hallihallo ihr lieben,

folgendes Problem tritt bei mir auf: Ich habe 3 Domains auf einem Server. Domain1.de, domain2.net und domain3.de. Ich habe (derzeit) ein selbstsigniertes Zertifikat erstellt, was für domain2.net angelegt wurde. Ich habe dieses Zertifikat in den Ordner etc/apache2/ssl hinterlegt.

Dieses habe ich auch in der Konfigurationsdatei vom Apachen so angegeben und funktioniert auch ... ABER ... geber ich jetzt zum Beispiel Domain1.de oder domain3.de mit https an lande ich automatisch auf domain2.net. So soll das ja nicht sein.

Wenn ihr mehr Infos braucht gebt mir Bescheid. Denn so habe ich alles korrekt eingestellt. Domain1.de, domain2.net und domain3.de haben ihre eigene Konfig und auch alles aktiviert. Ohne https arbeiten alle Domains auch korrekt wie es soll.

Bei mir läuft Debian mit Apache 2.2.

Danke für Eure Hilfe :)
 

patrick

Staff member
B1G-Software-Kunde
#2
Du brauchst i.A. eine eigene IP für jede Domain für https, da die Verschlüsselung eine Ebene vor der Realisierung der Virtual Hosts erfolgt.
 

mbaumert

B1G-Software-Kunde
#3
Ich denke, deine SSL Config gilt global für den Server, du musst aber jeweils eigene für deine vHosts machen.

Einzelne IPs brauchst du wenn du es ohne SNI machen möchtest.

Gesendet von meinem Nexus 4 mit Tapatalk
 

postmaster

B1G-Software-Kunde
#4
Wie meinst du das? Ich habe - davon gehe ich aus - dieses SSL Zertifikat nur für die Domain2.net angelegt. Habe es auch so in der Apache2 Konfiguration eingebunden und aktiviert. Um es vereinfacht zu sagen habe ich einfach die funktionierende Konfig ohne SSL genommen und nur die relevanten Abschnitte für SSL mit eingefügt. Sollte ich da etwas falsch gemacht haben?

Ich bin morgen wieder am Rechner und wenns nix ausmacht schick ich mal die normale und die SSL Konfiguration mit.

Aber 2 Conf-Dateien für die Vhost mit und ohne SSL ist ja schonmal richtig ... oder kann man das in eine schreiben?

Gesendet von meinem Galaxy S5
 

mbaumert

B1G-Software-Kunde
#6
Man kann es eigentlich schreiben wie man möchte. Ich persönlich teile meine vHosts Files per Domain auf, somit ist bei mir die http- und https-Config innerhalb einer vHost Datei.
 

postmaster

B1G-Software-Kunde
#7
So ihr lieben,

sorry habs die vergangen Tage nicht geschafft :( ... aber dafür jetzt.

Also aktuell hab ich es so das meine Domains alle einen eigenen Ordner in /var/www/mein_hauptverzeichnis/meine_domain haben. Und jede Domain besitzt auch ihre eigene Konfigurationsdatei. Sollte fast das gleiche sein wie bei dir Martin ;).

Jetzt habe ich für Domain2.net eine SSL Verschlüsselung angelegt - also wieder eine eigene Konfigurationsdatei geschrieben - aktiviert - läuft.

Ich hab mal meine Config für die Seite angehangen (mit SSL erspar ich mir mal - ist halt gleicher Inhalt nur um SSL erweitert)

Code:
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        ServerName  domain2.net
        ServerAlias www.domain2.net *.domain2.net
        DocumentRoot /var/www/mein_hauptverzeichnis/domain2
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/mein_hauptverzeichnis/domain2/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride FileInfo
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/domain2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/domain2/access.log combined
</VirtualHost>
@Martin: Du hattest geschrieben das du deine vHost Files per Domain aufteilst - wie kann ich das verstehen? Ich lern gern dazu :)
 

mbaumert

B1G-Software-Kunde
#9
Genau, ich habe beispielsweise 3 Domains:
domain1 - http & https
domain2 - nur http
domain3 - http & https

somit habe ich gesamt 3 vHost Files, wobei in der für domain1 & domain2 auch die SSL Config drinnen ist.
Somit sind diese 2 Domains auch über 443 erreichbar, die domain2 jedoch nicht. Wählt man diese an, gelangt man zur default SSL Config.

Gesendet von meinem Nexus 4 mit Tapatalk
 
Last edited:

postmaster

B1G-Software-Kunde
#10
Hallo Martin,

genau das ist das was ich erreichen möchte aber genau nicht funktioniert. Denn eigentlich sollte ja domain1 und domain3 ebenfalls auf der default ssl seite rauskommen ... landet trotzdem auf der ssl seite von domain2. Ich krieg ums verrecken nicht raus wieso ...

Liebe Grüße

Gesendet von meinem Samsung Galaxy S5
 

postmaster

B1G-Software-Kunde
#11
Guten Morgen,

hab jetzt die SSL Configuration mit in die vHost von der normalen Config geschrieben. Das ist auch alles i.O. Danke nochmals - ich hätte nicht gedacht das es funktioniert :)

Aber das Problem das er die beiden Domains "umleitet" besteht leider immer noch :(

EDIT: Hab gerade herausgefunden - wenn ich auf den beiden Domains https angebe lande ich automatisch auf der nicht verschlüsselten seite von domain2.net. Nur ich finde den Fehler einfach nicht :(
 
Last edited:

postmaster

B1G-Software-Kunde
#13
Hallo Martin,

dann werd ich das jetzt sofort nachholen ;).

Die default_ssl spare ich mir (ich hoffe das sie nicht benötigt wird).

domain1.de

PHP:
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        ServerName  domain1.de
        ServerAlias www.domain1.de *.domain1.de
        DocumentRoot /var/www/domain1/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/domain1/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/domain1/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/domain1/access.log combined
</VirtualHost>
domain2.net
PHP:
Erster Abschnitt gleich wie oben bis auf die Domain, dann noch folgendes ...
....
....
<VirtualHost *:443>
        ServerAdmin webmaster@localhost

        ServerName  domain2.net
        ServerAlias www.domain2.net *.domain2.net
        DocumentRoot /var/www/domain2/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/domain2/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride FileInfo
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        SSLEngine on
        SSLCertificateKeyFile /etc/apache2/ssl/domain2-ssl.key
        SSLCertificateFile /etc/apache2/ssl/domain2-ssl.crt
        ErrorLog ${APACHE_LOG_DIR}/domain2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/domain2/access.log combined
</VirtualHost>
Und Domain3.de wie die erste - ebenfalls nur anderer Domainname. Ich hoffe das ist so ok und du brauchst nicht für alle Domains die einzelnen Configs :) - wollte nicht alles zuballern ;)
 

mbaumert

B1G-Software-Kunde
#14
Trage mal bei allen vHosts anstatt der Wildcard * die tatsächliche Domain ein. Ich habe bei meinen vHosts eigentlich nirgends mehr eine Wildcard für den "VirtualHost" Abschnitt hinterlegt.

Obs tatsächlich das Problem löst müssten wir einfach testen ;)
 

GenXRoad

B1G-Software-Kunde
#15
Kommst du irgendwo an eine vhost config von plesk?

Wenn ja orientiere dich da am aufbau, da wird noch eine abfrage mit einer ifmodul xyz.abc drin sein...
 

postmaster

B1G-Software-Kunde
#16
Trage mal bei allen vHosts anstatt der Wildcard * die tatsächliche Domain ein. Ich habe bei meinen vHosts eigentlich nirgends mehr eine Wildcard für den "VirtualHost" Abschnitt hinterlegt.
Hallo Martin,

hab ich gerade probiert, bekomm ich folgende Fehlermeldungen beim Starten von Apache:

PHP:
root@server2:# service apache2 start
[....] Starting web server: apache2
[Tue Jul 07 17:44:37 2015] [warn] VirtualHost domain2.net:80 overlaps with VirtualHost domain1.de:80, the first has precedence, perhaps you need a NameVirtualHost directive
[Tue Jul 07 17:44:37 2015] [warn] VirtualHost domain3.de:80 overlaps with VirtualHost domain2.net:80, the first has precedence, perhaps you need a NameVirtualHost directive
[Tue Jul 07 17:44:37 2015] [warn] NameVirtualHost *:443 has no VirtualHosts
. ok
Interessant finde ich den letzten Eintrag - da habe ich domain2.net:442 stehen und kein Sternchen ?(?(

@GenXRoad: Leider nein. Ich habe niemanden der noch einen Server betreibt.
 

mbaumert

B1G-Software-Kunde
#17
So sieht meine Config aus:

globale httpd.conf
Code:
NameVirtualHost *IP*:80
NameVirtualHost *IP*:443
und eine Domain mit SSL
Code:
<VirtualHost domain.net:80>
ServerAlias www.domain.net www.domain2.net
ServerName domain.net

ErrorLog /var/log/httpd/domain.net-error.log
CustomLog /var/log/httpd/domain.net.log combined

redirect permanent / https://domain.net/

</VirtualHost>

<VirtualHost domain.net:443>
SSLStrictSNIVHostCheck off
ServerName domain.net:443
ServerAlias www.domain.net

SSLEngine On

SSLCertificateFile **
SSLCertificateKeyFile **
SSLCertificateChainFile **
SSLCACertificateFile **

ErrorLog **
CustomLog **

RewriteEngine On

DocumentRoot "**"
<Directory "**">
allow from all
Options +Indexes
</Directory>

</VirtualHost>
Ob es eine optimale Config ist oder nicht sei gefragt, aber funktioniert zumindest ohne Probleme ;)
 

postmaster

B1G-Software-Kunde
#18
Hallo Martin,

ja die Fehlermeldungen beim starten sind jetzt weg :). Aber das Problem besteht immer noch.

Ich muss mich wohl oder übel damit abfinden. Ich dachte ja erst mit diesem Eintrag
Code:
SSLStrictSNIVHostCheck off
bekomm ich es weg. Aber weder ON noch OFF ändert daran etwas :(
 
Top