(SOLVED) OPNsense - Nginx reverse proxy -> Vaultwarden docker synology

I have Vaultwarden running on docker on synology nas.
I have a opnsense firewall with reverseproxy (nginx).
I have the website and service running. It all works great with lets encrypt cert.

What I can’t figure out is how to get the livesync / WebSocket to work and how to arrange the correct way to set this up in opnsense nginx GUI.

Somebody here that knows how to do this?

Have you seen the wiki already??

BlackDex, thank you for your fast reply.
I have seen the proxy examples and I am looking for help / do not know, how to add this below part in the opnsense - nginx gui:

location /notifications/hub {
proxy_pass http://:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;

location /notifications/hub/negotiate {
proxy_pass http://:80;

is it by url rewrite, adding new https servers and upstream to port 3012? so I am lost there

Maybe it would be better if you can show what you have right now.

I can do that, but it is all screen/gui based and different than a config file.
I can upload pictures of it?

I would be uncertain on how to help if you don’t understand the proxy-examples and how to implement that into the synology/nginx.

Those examples are 1:1 working examples so they should just work out-of-the-box besides changing the server_name and proxy_pass to match your specific setup.


thank you for your help and guidance. With the examples and the help from opnsense community I was able to make this work!
So I leave this here for other users running self hosted Vaultwarden and opnsense reverse proxy:

One HTTP Server

Two Upstream servers: one for tcp80, second - for tcp3012

Two Upstreams: one pointing to tcp80 Upstream server, second - pointing to tcp3012 Upstream server

Three Locations: “/” and “/notifications/hub/negotiate” - pointing to tcp80 Upstream, “/notifications/hub” - pointing to tcp3012 Upstream with " WebSocket Support" enabled.

In HTTP Server settings choose all three locations (root ("/"), hub ("/notifications/hub") and hub_nego(""/notifications/hub/negotiate""))

and I had to change the docker listening localhost to to make it work.

really love the real time updates to all devices!