Nginx代理Vaultwarden
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: /,这表示禁止所有搜索引擎爬取网站内容。