技术解析

nginx 虚拟子目录反向的问题
0
2021-05-21 03:49:13
idczone

目前有一个正常访问的 HTTPS 站点配置,我在中间想加一个虚拟子目录,去反代另外一个 PT 管理页面,结果能正常到要求输入管理密码的页面,待输入完密码后,就提示找不到页面,无法访问了。

密码验证页的 URL: https://www.test.com/pt

密码通过后的 URL: https://www.t国外服务器est.com/transmission/web/

nginx 子目录配置段:

location /pt/ 
{
	resolver 223.5.5.5 valid=300s ipv6=off;
	set $backends "ddns.destination.com.cn";
	proxy_set_header   X-Real-IP $remote_addr;
	proxy_set_header   Host      $http_host;
	proxy_pass         http://$backends:9999;
}

location /transmission/web/
{
	resolver 223.5.5.5 valid=300s ipv6=off;
	set $backends "ddns.destination.com.cn";
	proxy_set_header   X-Real-IP $remote_addr;
	proxy_set_header   Host      $http_host;
	proxy_pass         http://$backends:9999/transmission/web;
}

求高人指点一下原因及解决方法。


注意结尾的 /,删除试试,包括 location 和 proxy_pass

删除试了,也不行,还是一样

两个 location 都指向同一个后端服务即可嘛
proxy_pass http://$backends:9999;

proxy_redirect

HTTP 80 下访问正常了,但是 HTTPS 443 下,只有一个空白窗口,但是看源码,又有内容。
proxy_redirect 直接 nginx 自检都报错了。

………你不看文档不加参数当然不对………

解决了,谢谢,不过 HTTPS 443 绑定的域名下依然白板一片,用 HTTP 80 的完全正常了

楼主最后怎么解决?我也想用 https 和域名去管理 tr

单开两个域名从根级反代

能发一下配置文件怎么写吗?
我对 nginx 反代不懂。

就我贴的代码啊,只把 location /pt/ 中的 /pt/改成 /,就完事了。其它的标准语句都是完全一样的。

这样访问时候,是直接域名访问?
就不是域名 /pt 这样访问吧?

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服