Ssl nginx HttpProxyModule配置帮助

Ssl nginx HttpProxyModule配置帮助,ssl,proxy,nginx,reverse-proxy,h2,Ssl,Proxy,Nginx,Reverse Proxy,H2,在允许访问H2数据库web控制台之前,我尝试使用nginx强制执行基本身份验证。此控制台正在上运行 在我的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-Forwa

在允许访问H2数据库web控制台之前,我尝试使用nginx强制执行基本身份验证。此控制台正在上运行

在我的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的web服务器。此配置适用于第一个请求,但是H2服务器立即发送一个针对“/login.jsp”的HTTP重定向,该重定向将作为“/login.jsp”而不是“/H2/login.jsp”发送到我的浏览器。这意味着当我的浏览器请求页面时,请求失败,因为只有位于“/h2”位置的URL被传递到h2 Web服务器

如何将“/h2”附加到h2 Web服务器返回的任何重定向中?我尝试了以下方法:

proxy_redirect https://localhost:8084/ https://$host/h2;

但它什么也没做。

这似乎是一个nginx配置问题。尝试在nginx.conf中使用
location/h2/
(带尾随斜杠)而不是
location/h2
。然后连接到
http://localhost/h2/
。您不需要任何反向代理配置,因为H2控制台工具不使用绝对URL(它重定向到“login.jsp”而不是“/login.jsp”)。问题是这是一个“文件名”,而这是一个“目录”。

这似乎是一个nginx配置问题。尝试在nginx.conf中使用
location/h2/
(带尾随斜杠)而不是
location/h2
。然后连接到
http://localhost/h2/
。您不需要任何反向代理配置,因为H2控制台工具不使用绝对URL(它重定向到“login.jsp”而不是“/login.jsp”)。问题是这是一个“文件名”,而这是一个“目录”