在允许访问 H2 数据库 Web 控制台之前,我正在尝试使用 nginx 强制执行基本身份验证。此控制台在https://localhost:8084上运行
在我的 nginx.conf 中,我有:
location /h2 {
auth_basic "Restricted";
auth_basic_user_file htpasswd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_pass https://localhost:8084/;
}
我想要它做的是对 /h2 的代理请求到 H2 的网络服务器。此配置适用于第一个请求,但是 H2 服务器立即为“/login.jsp”发送 HTTP 重定向,该重定向作为“/login.jsp”而不是“/h2/login.jsp”发送到我的浏览器。这意味着当我的浏览器请求页面时,请求失败,因为只有位置“/h2”的 url 被传递给 H2 网络服务器。
如何将“/h2”附加到 H2 网络服务器返回的任何重定向?我尝试了以下方法:
proxy_redirect https://localhost:8084/ https://$host/h2;
但它没有做任何事情。