Gibt es eine Möglichkeit, Konfigurationsanweisungen für zwei Nginx- server {}
Blöcke freizugeben ? Ich möchte vermeiden, dass die Regeln dupliziert werden, da die HTTPS- und HTTP-Inhalte meiner Website mit genau derselben Konfiguration bereitgestellt werden.
Derzeit ist es so:
server {
listen 80;
...
}
server {
listen 443;
ssl on; # etc.
...
}
Kann ich etwas in der Art von:
server {
listen 80, 443;
...
if(port == 443) {
ssl on; #etc
}
}
Um die akzeptierte Antwort zu verdeutlichen, müssen Sie sie weglassen
und für die nginx version nach 0.8.21 brauchst du nur noch folgendes
Referenz:
Nginx Docs - Konfigurieren eines einzelnen HTTP / HTTPS-Servers
quelle
Ich kenne keinen Weg, wie Sie ihn vorschlagen, aber es gibt sicherlich einen einfachen und wartbaren Weg.
Verschieben Sie allgemeine Servereinstellungen in eine separate Datei, z. B. "serverFoo.conf", und dann
include
in separateserver {}
Blöcke wie folgt :quelle
server_name
für jeden Port anders sindlisten 443 ssl;
ab sofort eins.listen
Zeilen nicht richtig interpretiert, aber durch Verschieben in separate Zeilen wird diesserver{}
behoben.Im Folgenden finden Sie ein ausführlicheres Beispiel für die bereits hilfreichen Antworten:
quelle
Nur um Igor / Jauders Beitrag hinzuzufügen, wenn Sie eine bestimmte IP hören, können Sie Folgendes verwenden:
quelle