In Apache2 auf Ubuntu habe ich meine Website auf 80 zu hören, und jetzt möchte ich SSL hinzufügen. Gibt es eine Möglichkeit, die SSLEngine für Port 443 zu aktivieren, damit ich nicht den gesamten VirtualHost-Block kopieren muss?
Wenn ich das mache:
Listen 80
Listen 443
NameVirtualHost *
<VirtualHost *>
SSLEngine On
... a bunch more lines...
</VirtualHost>
Es wird die SSLEngine für Port 80 eingeschaltet. Gibt es eine Möglichkeit, nur den einen VirtualHost-Block zu verwenden und nur die SSLEngine für Port 443 einzuschalten? Also kann ich so etwas machen?
Listen 80
Listen 443
NameVirtualHost *
<VirtualHost *>
<IfPort 443>
SSLEngine On
</IfPort>
... a bunch of lines I don't want to copy into another VirutalHost block...
</VirtualHost>
quelle
Wie ich auf einer anderen Frage zum Stackoverflow erwähnt habe ( /programming/679383/do-i-have-to-duplicate-the-virtualhost-directives-for-port-80-and-443/52375167# 52375167 ):
Eine andere Option anstelle von "using"
Include
ist "using"Macro
(damit Sie alles in einer Datei behalten können).Aktivieren Sie zuerst das Makromodul:
Dann legen Sie Ihre geteilten Sachen in ein Makro und
use
es von Ihrem virtualhosts:Makros können auch Parameter annehmen und in anderen enthaltenen Dateien definiert werden. Sie können sie also ein bisschen wie Funktionen verwenden und eine Menge Duplikate in Ihren Apache-Konfigurationsdateien speichern.
Weitere Details finden Sie hier:
https://httpd.apache.org/docs/2.4/mod/mod_macro.html
quelle
Sie können Verzeichniseinstellungen in einen
<Directory>
Block außerhalb von<VirtualHost>
Blöcken einfügen. Dadurch werden sie auf alle virtuellen Hosts angewendet, jedoch nur auf den angegebenen Pfad.quelle