DSM 6.x und darunter DSM 6.0: WebStation-Config

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Alle DSM Version von DSM 6.x und älter
Status
Für weitere Antworten geschlossen.

mholti

Benutzer
Registriert
26. März 2014
Beiträge
66
Reaktionspunkte
1
Punkte
6
Hi,
ich hatte unter DSM 5.x in der WebStation einen vHost auf Port 444, der nach einem Client-Zertifikat verlangte.
Unter 6.0 habe ich die Config für den Vhost unter /usr/local/etc/httpd/sites-enabled/httpd-vhost.conf-user gefunden, aber ohne Client-Zert-Abfrage.
Also reinkonfiguriert und Box neugestartet. Folge httpd-vhost.conf-user ist wieder wie vorher (ohne meine Änderungen).
Frage: wo kann ich das ganze anpassen, dass es auch einen Reboot überlebt?

Gruß
M :confused:
 
So,
einen Schritt weiter bin ich schon.
Nachdem ich mir den Update-Thread durchgelesen habe, weiß ich, dass ich unter dem o.a. Pfad eigene *.conf-Dateien anlegen kann, die nach einem Apache-Restart auch genutzt werden.
Mit einem Alias läuft das schon. Nur das Client-Zert bekomme ich noch nicht hin.

M
 
Langsam wird das ein Solo-Thread... :D
Der Apache hatte gar kein SSL eingeschaltet. Stellt sich mir die Frage, wer denn da das SSL terminiert.
Und wenn ich dem Apache SSL "beibringe" und in der Konfig das Client-Zertifikat verlange, sagt er mir, dass er über http angesprochen wurde und daher nichts ausliefert.
Ich frage aber garantiert via https an.
Also stellt sich auch hier die Frage: wer terminiert SSL?

M
 
Hallo,
alle Anfragen nimmt erst einmal der nginx Webserver entgegen.
Rich (BBCode):
root@DS1513:~# netstat -nlp|grep ngi
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:5001            0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      11369/nginx: master
Ist Web-Station installiert läuft ein Apache auf Port 914
Rich (BBCode):
root@DS1513:~# netstat -nlp|grep http
tcp        0      0 127.0.0.1:914           0.0.0.0:*               LISTEN      12459/httpd
Damit etwas an den Apachen weitergeleitet wird muß man in der Web-Station einen portbasierten virtuellen Host anlegen und gibt die Ports für http und https vor. Dieses landet in /var/tmp/nginx/app.d/server.webstation-vhost.conf mit dem Inhalt
Rich (BBCode):
server {

    listen      88 default_server;
    listen      [::]:88 default_server;

    listen      448 ssl default_server;
    listen      [::]:448 ssl default_server;

    server_name _;

    ssl_certificate             /usr/local/etc/certificate/WebStation/vhost_5ec4185a-f34f-4686-9430-fc2127cce298/fullchain.pem;
    ssl_certificate_key         /usr/local/etc/certificate/WebStation/vhost_5ec4185a-f34f-4686-9430-fc2127cce298/privkey.pem;
    ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers                 ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA25
6:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AE
S256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES2
56-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH
-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
    ssl_prefer_server_ciphers   on;

    include     proxy.conf;
    location / {
        proxy_pass  http://127.0.0.1:914;
    }

}
in diesem Fall werden Port 88/448 über Port 914 an den Apachen übergeben.
Rich (BBCode):
root@DS1513:~# netstat -nlp|grep ngi
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:5001            0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:88              0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      11369/nginx: master
tcp        0      0 0.0.0.0:448             0.0.0.0:*               LISTEN      11369/nginx: master

Gruß Götz
 
Hallo Götz,
danke für die Info. Um das ganze nicht zu einfach zu machen, legt die Web-Station ja auch eine Config für den Apachen an. Nur scheint die ja dann nicht zu ziehen. Zwei Server auf dem selben Port geht ja wohl schlecht...
Jetzt versuche ich mal, den nginx dazwischen raus zu bekommen. Ich nutze das Ganze für ActiveSync. Und da scheint er einiges kaputt zu machen.
Sync klappt prinzipiell, aber:
* Push geht nicht
* Beim manuellen Aktualisieren wird jedesmal komplett neu gesynct.
Doof!!!

Gruß
Michael
 
Hallo,
die Config des Apachen sollte schon gehen wenn Du die Ports des virtuellen Hosts benutzt, nginx arbeitet dann als proxy und leitet an den Apachen weiter.

Gruß Götz
 
Hallo Götz,
im Prinzip ja, aber...
1) wird der Apache generell vom nginx via http angesprochen, da geht das mit dem Client-Zert nicht
2) scheint mir der nginx hier Active-Sync-Sessions zu stören, jedenfalls lief das mit "Apache-Only" unter DSM 5 wesentlich sauberer

Aber ich bin (auch dank Deines Tips)
auf dem Web, melde mich, wenn ich' s sauber am Laufen habe.

Gruß
Michael
 
Heureka,
ich hab's!
1) virtuellen Host für Port 444 aus der Web-Station-Config (Web-Frontend) gelöscht
2) komplette Config für Port 444 unter Apache in /usr/local/etc/httpd/sites-enabled/ als eigene Datei erstellt.
3) Wichtig hier die Zeile: Listen <IP der Syno>:444 (sonst lauscht der Apache nur unter 127.0.0.1)
4) Zertifikate aus der Conf-Datei an die angegebenen Pfade kopiert
5) Apache restarted
==> Abfrage geht direkt auf den Apachen via https und das Client-Zert wird abgefragt

Gruß
M
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat