Nginx代理Vaultwarden
nginx代理规则
location / {
proxy_pass http://172.17.0.1:7087;
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;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /admin {
return 404;
}
location /robots.txt {
return 200 "User-agent: *\nDisallow: /";
}
这个 Nginx 配置文件包含三个 location
块,每个块都有不同的功能。以下是对这些 location
块的解析:
1. 根路径 /
的配置:
-
代理传递 (
proxy_pass
): 将所有请求代理到 IP 地址172.17.0.1
的端口7087
上。 -
设置头部信息 (
proxy_set_header
):-
Host $host
: 设置代理请求头中的Host
为客户端请求的主机名。 -
X-Real-IP $remote_addr
: 将客户端的真实 IP 地址传递给后端服务器。 -
X-Forwarded-For $proxy_add_x_forwarded_for
: 传递客户端的真实 IP 地址,包括所有代理服务器的 IP。 -
X-Forwarded-Proto $scheme
: 传递协议(HTTP 或 HTTPS)。
-
-
WebSocket 支持:
-
proxy_http_version 1.1
: 设置代理请求使用 HTTP/1.1。 -
proxy_set_header Upgrade $http_upgrade
: 设置Upgrade
头以支持 WebSocket。 -
proxy_set_header Connection "upgrade"
: 设置Connection
头以支持 WebSocket。
-
2. /admin
路径的配置:
-
返回 404 错误 (
return 404
): 当访问/admin
路径时,返回 404 错误,表示找不到资源。这是为了阻止未经授权的访问。
3. /robots.txt
路径的配置:
-
返回 200 状态码和内容 (
return 200
): 当访问robots.txt
文件时,返回 200 状态码,并且内容为User-agent: *\nDisallow: /
,这表示禁止所有搜索引擎爬取网站内容。