In Nginx, `if` should be avoided for risk of confusion ("`if` is evil"). No reason to use it here anyway, as `server_name` handles that.

Jivan Pal 2024-12-03 00:37:39 +00:00
parent 3418484b33
commit a88810e9a8
1 changed files with 9 additions and 11 deletions

@ -160,10 +160,7 @@ server {
listen [::]:80;
server_name vaultwarden.example.tld;
if ($host = vaultwarden.example.tld) {
return 301 https://$host$request_uri;
}
return 404;
return 301 https://$host$request_uri;
}
server {
@ -265,10 +262,14 @@ server {
listen [::]:80;
server_name vaultwarden.example.tld;
if ($host = vaultwarden.example.tld) {
location /vault/ { # <-- replace with desired sub-path
return 301 https://$host$request_uri;
}
return 404;
# If you want to enforce HTTPS for the entire domain anyway,
# rather than just for Vaultwarden, then you can just use
# the following instead of the `location` block above:
return 301 https://$host$request_uri;
}
server {
@ -416,14 +417,11 @@ map $http_upgrade $connection_upgrade {
# Redirect HTTP to HTTPS
server {
if ($host = vaultwarden.example.tld) {
return 301 https://$host$request_uri;
}
listen 80 proxy_protocol; # <---
listen [::]:80 proxy_protocol; # <---
server_name vaultwarden.example.tld;
return 404;
return 301 https://$host$request_uri;
}
server {