我现在有三个网页控制台,一个是 frps 的,一个是 cloudreve 的,还有一个是 portainer 的。
我想要用 nginx 实现 https://abc.com/frps 转发到本地的 http://127.0.0.1:8080 ,对应的是 frps 控制台服务,
https://abc.com/cloudreve 转发到本地的 http://127.0.0.1:8081 对应的是 cloudreve 控制台服务,
https://abc.com/portainer 转发到本地的 http://127.0.0.1:8082 对应的是 portainer 控制台服务。
nginx 对应配置文件部分如下
server {
listen 443
...
location /cloudreve/ { #cloudreve 控制台
proxy_pass http://127.0.0.1:8081/;
}
location /portainer/ { #docker portainer 控制台
proxy_pass https://127.0.0.1:8082/;
}
location /frps/ { #frps 控制台
proxy_pass http://127.0.0.1:8080/;
}
}
但是只有 portainer 实现了需求,其余两个都没有办法访问。 /frps/和 /cloudreve/并没有被传递到对应的 url 后面,但是没办法访问,结果都显示 nginx 的 404 页面。 请教一下这是为什么?
如果我开启对子域名的解析,让 cloudreve.abc.com 能够被解析到 http://127.0.0.1:8081 , 而且 location 匹配的是根目录,nginx 配置文件如下
server
{
listen 443 ssl;
server_name frps.abc.com;
...
location / {
proxy_pass http://127.0.0.1:8080;
}
}
server
{
listen 443 ssl;
server_name cloudreve.abc.com;
...
location / {
proxy_pass http://127.0.0.1:8081;
}
}
此时直接访问 https://frps.abc.com 或 https://cloudreve.abc.com 都能够成功访问。
我不理解为什么 location 改为非根目录就无法访问了,按理来说 https://abc.com/frps/ 也应该指向 http://127.0.0.1:8080 才对啊,问题出在哪呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.