nginx Reverse-Proxy Konfiguration

-Nuke-

Well-Known Member
Heyho.

Ich steige gerade von pound auf nginx um, weil pound mit Alternate Names in SSL-Zertifikaten nicht umgehen kann (leitet dann bei SNI das falsche Zertifikat weiter).

Ich habe hier einen Server mit mehreren Jails in denen Apache läuft (Nutzerkram, Owncloud, etc.). Auf diese will ich umleiten. Meine Konfiguration hat auch soweit geklappt, nur hat nginx ein Default-Verhalten was mir nicht so gefällt.

Nehmen wir mal an, ich habe folgende Pseudo-Konfig:

Code:
server {
  listen 443 ssl;
  server_name ~.*url1.*;
  location / {
    proxy_pass 10.0.0.1;
  }
}

server {
  listen 443 ssl;
  server_name ~.*url2.*;
  location / {
    proxy_pass 10.0.0.2;
  }
}

server {
  listen 80;
  server_name ~.*url3.*;
  location / {
    proxy_pass 10.0.0.3;
  }
}

Also über 2 URLs komme ich nur per HTTPS ran und die letzte URL soll über normal HTTP erreichbar sein.

Nun ist es aber so, wenn ich https://url3.de ansteuere, dann lande ich über die url3 auf dem Server 10.0.0.1. Also das was zuerst als HTTPS konfiguriert wurde. In meinem Fall läuft dort OwnCloud und ich lande somit über jegliche URL, die keinen eigenen HTTPS Eintrag hat, bei Owncloud.

Ich hätte aber gerne eine Abweisung, dass der Server nicht gefunden wurde.

Momentan löse ich das Problem damit, dass ich auch URL3 einen HTTPS Eintrag gebe, aber das ist für mich nur eine Notlösung, da ich ja kein Zertifikat dafür habe.

Kann man das irgendwo einstellen?

Danke :)
 
Wie wäre es mit einem Eintrag nach der Sorte:

server {
listen 443 ssl;
server_name ~.*url3.*;
return 418; # ;)
}
 
Zurück
Oben