Daniel García
6 years ago
2 changed files with 82 additions and 21 deletions
@ -0,0 +1,80 @@ |
|||
# Proxy examples |
|||
|
|||
In this document, `<SERVER>` refers to the IP or domain where bitwarden_rs is accessible from. If both the proxy and bitwarden_rs are running in the same system, simply use `localhost`. |
|||
The ports proxied by default are `80` for the web server and `3012` for the WebSocket server. The proxies are configured to listen in port `443` with HTTPS enabled, which is recommended. |
|||
|
|||
When using a proxy, it's preferrable to configure HTTPS at the proxy level and not at the application level, this way the WebSockets connection is also secured. |
|||
|
|||
## Caddy |
|||
|
|||
```nginx |
|||
localhost:443 { |
|||
# The negotiation endpoint is also proxied to Rocket |
|||
proxy /notifications/hub/negotiate <SERVER>:80 { |
|||
transparent |
|||
} |
|||
|
|||
# Notifications redirected to the websockets server |
|||
proxy /notifications/hub <SERVER>:3012 { |
|||
websocket |
|||
} |
|||
|
|||
# Proxy the Root directory to Rocket |
|||
proxy / <SERVER>:80 { |
|||
transparent |
|||
} |
|||
|
|||
tls ${SSLCERTIFICATE} ${SSLKEY} |
|||
} |
|||
``` |
|||
|
|||
## Nginx (by shauder) |
|||
```nginx |
|||
server { |
|||
include conf.d/ssl/ssl.conf; |
|||
|
|||
listen 443 ssl http2; |
|||
server_name vault.*; |
|||
|
|||
location /notifications/hub/negotiate { |
|||
include conf.d/proxy-confs/proxy.conf; |
|||
proxy_pass http://<SERVER>:80; |
|||
} |
|||
|
|||
location / { |
|||
include conf.d/proxy-confs/proxy.conf; |
|||
proxy_pass http://<SERVER>:80; |
|||
} |
|||
|
|||
location /notifications/hub { |
|||
proxy_pass http://<SERVER>:3012/api/websocket; |
|||
proxy_set_header Upgrade $http_upgrade; |
|||
proxy_set_header Connection "upgrade"; |
|||
} |
|||
} |
|||
``` |
|||
|
|||
## Apache (by fbartels) |
|||
```apache |
|||
<VirtualHost *:443> |
|||
SSLEngine on |
|||
ServerName bitwarden.$hostname.$domainname |
|||
|
|||
SSLCertificateFile ${SSLCERTIFICATE} |
|||
SSLCertificateKeyFile ${SSLKEY} |
|||
SSLCACertificateFile ${SSLCA} |
|||
${SSLCHAIN} |
|||
|
|||
ErrorLog \${APACHE_LOG_DIR}/bitwarden-error.log |
|||
CustomLog \${APACHE_LOG_DIR}/bitwarden-access.log combined |
|||
|
|||
RewriteEngine On |
|||
RewriteCond %{HTTP:Upgrade} =websocket [NC] |
|||
RewriteRule /(.*) ws://<SERVER>:3012/$1 [P,L] |
|||
|
|||
ProxyPass / http://<SERVER>:80/ |
|||
|
|||
ProxyPreserveHost On |
|||
ProxyRequests Off |
|||
</VirtualHost> |
|||
``` |
Loading…
Reference in new issue