Ich habe eine ziemlich große VirtualHost-Definition, die ich nicht duplizieren möchte, nur damit die Site auch über HTTPS ausgeführt wird.
Folgendes möchte ich tun:
<VirtualHost *>
ServerName example.com
<If port=443>
SSLEngine on
SSLCertificateFile ...
SSLCertificateKeyFile ...
SSLCertificateChainFile ...
</If>
(other config)
</VirtualHost>
Gibt es eine Möglichkeit, dies zu tun?
Fehlt mir eine andere Methode, um die Konfiguration nicht zu duplizieren?
quelle
SSLEngine On
ein<If>
Testament einzugebenSSLEngine not allowed here
, gibt daher den vorgeschlagenen Anwendungsfall zu Beginn dieser Antwort leider nicht möglich. Dies scheint darauf zurückzuführen zu sein, dass in diesem Konfigurationsabschnitt nur Anweisungen verwendet werden dürfen, die den Verzeichniskontext unterstützen. (ref) undSSLEngine
istserver config, virtual host
(ref) , kein Verzeichnis.Nein. Sie können die meisten Dinge in die globale Konfiguration verschieben und im VirtualHost erben.
quelle
Dies wurde in einer anderen Frage beantwortet. Verwenden Sie eine Include-Anweisung. Arbeitete wie ein Zauber für mich:
Stellen Sie http (Port 80) und https (Port 443) auf demselben VirtualHost bereit
quelle
Für virtuelle SSL-Hosts müssen Sie entweder einen zweiten Port verwenden
oder Sie müssen separate IPs verwenden
Es gibt tatsächlich eine sehr gute Erklärung in den Apache SSL-Dokumenten http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html
Suchen Sie nach "Warum kann ich SSL nicht mit namenbasierten / nicht IP-basierten virtuellen Hosts verwenden?"
quelle