Apache Name Virtueller Host mit SSL
Ich bin versucht, setup-unseren Servern zu erlauben, den Datenverkehr über SSL. Ich bin mir bewusst, dass SSL funktioniert nicht mit dem Namen des Virtuellen Host, aber wir haben alle unsere apache-Server auf virtuellen Maschinen mit dedizierten privaten IPs. Wir haben eine primäre virtuelle Maschine, in der mod_proxy Einrichtung zum weiterleiten von Datenverkehr an die entsprechenden vms.
Jedoch, um die route https-Datenverkehr benötigen wir das Zertifikat installiert sein, auf dem proxy als auch die vms. Wir haben ein wildcard-Zertifikat, das verwendet werden kann, auf allen unseren hosts. Alles scheint zu funktionieren, aber ich erhalte Folgendes in die apache-logs des proxy:
[warn] Init: SSL server IP/port conflict: host1.domain.com:443 (/etc/apache2/sites-enabled/host1:1) gegen host2.domain.com:443 (/etc/apache2/sites-enabled/host2:1)
Es ist eines dieser Fehlermeldung für jeden host wir haben das setup auf dem proxy. Unsere Virtual Host setup für den proxy ist unten geschrieben:
<VirtualHost ipaddress:443>
ServerName host1.domain.com
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /https://privateip:443/
ProxyPassReverse /https://privateip:443/
SSLProxyEngine on
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
Gibt es irgendeine Möglichkeit, dass ich diese zu arbeiten?
InformationsquelleAutor der Frage JamesArmes | 2009-02-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie Apache warnt Sie, dass Sie mehrere
<VirtualHost>
Abschnitte mit der gleichen IP-Adresse und port... so weit wie Sie bekommen es zu arbeiten, ohne Warnungen, ich denke, du brauchst sowas wie Server Name Indication (SNI), eine Möglichkeit der Identifizierung der angeforderte hostname als Teil des SSL-Handshakes. Grundsätzlich können Sie name-based virtual hosting mit SSL, aber ich bin mir nicht sicher wie gut es ist, unterstützt von den Browsern. Anderen als so etwas wie SNI, sind Sie im Grunde nur auf eine SSL-fähige domain-Namen für jede IP-Adresse, die Sie über das öffentliche internet.Natürlich, wenn Sie sind in der Lage, den Zugriff auf die websites richtig, Sie werden wahrscheinlich in Ordnung sein und die Warnungen missachten. Diese besonderen diejenigen sind nicht sehr ernst - Sie sind vor allem ein Hinweis darauf, was zu betrachten, wenn Sie Probleme
InformationsquelleAutor der Antwort David Z
Soweit ich weiß, Apache unterstützt SNI seit Version 2.2.12
Leider ist die Dokumentation noch nicht widerspiegeln, die sich ändern.
Gehen für http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNIbis das fertig ist
InformationsquelleAutor der Antwort user273370
Können Sie ersetzen die:
mit
Müssen Sie wahrscheinlich todo diese auf alle Ihre virt-hosts.
Wird es wahrscheinlich klar, bis Nachricht ist. Lassen Sie die Direktive ServerName Gedanken über das routing der Nachricht anfordern.
Wieder, Sie möglicherweise nicht in der Lage, dies zu tun, wenn Sie mehrere ip-aliases auf die gleiche Maschine.
InformationsquelleAutor der Antwort Harold
Apache keine SSL-Unterstützung auf die name-based virtual host nur auf die IP-basierte Virtuelle Hosts.
Quelle: Apache 2.2 mit SSL FAQ Frage Warum ist es nicht möglich, um Namens-Basiertes Virtual Hosting zu identifizieren, die verschiedenen virtuellen hosts von SSL?
Im Gegensatz zu SSL, TLS-Spezifikation ermöglicht für namensbasierte hosts (SNI wie erwähnt von jemand anderem), aber Apache noch nicht unterstützt dieses feature. Sie wird vermutlich in einer zukünftigen Version beim kompilieren gegen openssl 0.9.8.
Auch, mod_gnutls Ansprüche zu unterstützen SNI, aber ich habe nie wirklich versucht.
InformationsquelleAutor der Antwort Powerlord
Zuerst müssen Sie die NameVirtualHost-ip:443 Sie die config-Datei!
Haben Sie wahrscheinlich eine mit 80 am Ende, aber Sie müssen auch eine mit 443.
Zweiten müssen Sie eine *.domain-Zertifikat (wildcard) (es ist möglich)
Dritten kann man nur etwas.domain-webs in eine ip (wegen dem Zertifikat)
InformationsquelleAutor der Antwort DataCZ
Den VirtualHost-Eintrag würde wie folgt Aussehen:
InformationsquelleAutor der Antwort ELinuxbook