Vaultwarden - Websocket

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.188
Punkte für Reaktionen
52
Punkte
68
Hallo zusammen,

habe Vaultwarden als Syno Docker Container laufen:
https://github.com/dani-garcia/vaultwarden

Läuft alles tadellos!
Das einzige was bei mir noch nicht läuft: Websockets.

Finde da zwar einige Tutorials zu, aber jeder macht es irgendwie anders.
Hat jemand von euch es am Laufen?

Wenn ja, könntet ihr mit bitte erklären, wie?
Danke!!
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.481
Punkte für Reaktionen
364
Punkte
103
Das Wiki von Vaultwarden hat eine Seite mit Proxy Beispielen: https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples
Die Konfiguration von Nginx (by shauder) funktioniert und ist "einfach" gestrickt.

Wie man es konfiguriert hängt schlichtweg davon ab, ob man den eingebauten Reverse Proxy verwendet. Wenn es der eingebaute sein soll, dann kannst Du die Konfiguration von shauder gemäß https://www.synoforum.com/resources/synology-reverse-proxy-under-the-hood.135/ zum fliegen bringen. Dazu muss man auf die (SSH) Shell, da die UI solche komplexen Konfiguration nicht erlaubt.

Wobei die Empfehlung eher in die Richtung geht den eingebauten Reverse Proxy in Ruhe zu lassen und stattdessen den Nginx Proxy Manager als Container zu betreiben und es dort zu konfigurieren.
 

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.188
Punkte für Reaktionen
52
Punkte
68
Wobei die Empfehlung eher in die Richtung geht den eingebauten Reverse Proxy in Ruhe zu lassen und stattdessen den Nginx Proxy Manager als Container zu betreiben und es dort zu konfigurieren.
Danke dir!
Nur zum Verständnis: Warum empfiehlst du den Proxy Manager ?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.188
Punkte für Reaktionen
52
Punkte
68
da bislang nicht konfiguriert, laufen die websockets für browser extensions nicht.
Mobile Clients laufen - funktioniert ja über push.

habe den Proxy Manger nun soweit installiert (bislang aber noch keine Erfahrung damit)

Bildschirmfoto 2022-02-14 um 09.21.33.png

Muss ich hier jetzt einfach nur die Platt die config Nginx (by shauder) reinhauen, ohne Anpassung?

Code:
server {
  listen 443 ssl http2;
  server_name vault.*;
 
  # Specify SSL config if using a shared one.
  #include conf.d/ssl/ssl.conf;
 
  # Allow large attachments
  client_max_body_size 128M;

  location / {
    proxy_pass http://<SERVER>:80;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
 
  location /notifications/hub {
    proxy_pass http://<SERVER>:3012;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
 
  location /notifications/hub/negotiate {
    proxy_pass http://<SERVER>:80;
  }

  # Optionally add extra authentication besides the ADMIN_TOKEN
  # If you don't want this, leave this part out
  location /admin {
    # See: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
    auth_basic "Private";
    auth_basic_user_file /path/to/htpasswd_file;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass http://<SERVER>:80;
  }

}
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.481
Punkte für Reaktionen
364
Punkte
103
Ich selber verwendete den eingebauten RP schon lange nicht mehr. Ich hatte mich damals wegen Vaultwarden und Matrix damit auseinander gesetzt. Der Post im Synofoum.com, für den ich oben den Link gepostet hatte, stammt von mir. - Dank der Unterhaltungen zu dem Artikel habe ich mitbekommen, dass Leute doch immer wieder schaffen ihren nginx komplett zu verbasteln. Daher empfehle ich mittlerweile eher den Nginx Proxy manager zu verwenden, statt Hand beim internen RP anzulegen. Zudem bietet dir die UI von NPM mehr Konfigurationsmöglichkeiten als die Syno-RP-UI jemals tun wird....

Statt <SERVER>:80 bzw: <SERVER>:3012 muss dann natürlich der jeweilige published Port vom Container mit der NAS-IP verwendet werden - oder sofern NPM im selben Container-Netzwerk betrieben wird den Containernamen mit Port 80 und 3012.
 

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.188
Punkte für Reaktionen
52
Punkte
68
Hi!
Danke für die Rückmeldung :)

Bekomme es einfach nicht ans laufen.
Könntest du mir bitte die fertige Config im Proxy Manager zeigen?
Und was mir auch noch unklar ist.

Muss ich nicht Iwo angeben, dass der Proxy Manager für Bitwarden greifen soll?
Oder ist der sofort aktiv für alles?

Vielen Dank!
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
WebSockets lassen sich übrigens auch im DSM eigenen Reverse Proxy konfigurieren.
03BNM5P.png


unabhängig davon teile ich die Ansicht von haydibe zur Verwendung eines anderen RP, wie z.B. dem Nginx Proxy Manager.
Letzterer ist aufgrund der GUI sogar noch halbwegs DAU-tauglich.
 

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.188
Punkte für Reaktionen
52
Punkte
68
Ja aber die o.g. Einstellung funktioniert ebenfalls nicht.
Habe gelesen, das dies seit DSM 7 so ist.

Und ja, würde ja gerne den Proxy Manager darf verwenden.
Bräuchte aber die Info, wie ich den einstellen muss :)
 

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.188
Punkte für Reaktionen
52
Punkte
68
Hallo zusammen,

gerne würde ich das Thema noch mal aufmachen.
Leider laufen bei mir die Websockets immer noch nicht.

Heißt: Wenn ich an einem Gerät, sei es Mobil oder PC einen Eintrag erstelle / bearbeite / lösche werden die anderen Geräte nicht automatisch synchroniesiert. HIer muss man manuell in der App auf "Tresor synchronisieren" gehen.

Mit folgender Anleitung soll es auch unter DSM 7 funktionieren - habe ich bestmöglich umgesetzt.
https://gist.github.com/eizedev/06a6727dc341745a4845fe04ccc97b05

Funktioniert leider nicht.

Meine nginx config schaut so aus:

server {
listen 443 ssl;
listen [::]:443 ssl;

server_name meineDomain.de ;

if ( $host !~ "(^meineDomain.de$)" ) { return 404; }

include /usr/syno/etc/www/certificate/ReverseProxy_14d2d2df-bf9e-4d31-94fc-c0dab560832e/cert.conf*;

include /usr/syno/etc/security-profile/tls-profile/config/ReverseProxy_14d2d2df-bf9e-4d31-94fc-c0dab560832e.conf*;

add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload" always;

proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

location / {

proxy_connect_timeout 60;

proxy_read_timeout 60;

proxy_send_timeout 60;

proxy_intercept_errors off;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_pass http://localhost:6309;

location /notifications/hub {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:3012;
}

location /notifications/hub/negotiate {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:6309;
}


error_page 403 404 500 502 503 504 /dsm_error_page;

location /dsm_error_page {
internal;
root /usr/syno/share/nginx;
rewrite (.*) /error.html break;
allow all;
}

}

Und noch die Porteinstellung meines Containers:
Bildschirmfoto 2023-06-11 um 10.18.52.png



Jemand eine Idee, wo der Fehler sein könnte?


** UPDATE **
Wenn ich vaultwarden über das Webinterface aufrufe, kommt folgender Websocket Error in den Developer Tools (Adresse = IP_DER_SYNO:443)
Bildschirmfoto 2023-06-11 um 10.48.36.png
 
Zuletzt bearbeitet:


 

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