具体情况:本人有个域名用来放博客,最近想整个网盘于是装了 zfile大带宽服务器,本人想法如下:访问 mydomain.com/yunpan/ 跳转到 zfile 主页,遂用 proxy_pass 将 mydomain.com/yunpan/ 的请求转发到运行 zfile 的端口上。nginx -t 不报错,但是访问 mydomain.com/yunpan/会出现 404 界面,error.log 里不报错,access.log 里显示 get 请求 400
没毛病啊
大神求解 什么没毛病
最好贴完整的配置文件和日志信息
我猜 400 请求是 zfile 返回的,你看看 zfile 日志有请求记录吗?如果 zfile 返回的,error.log 里就没有
我的配置信息贴不出来,需要验证手机号,我把关于转发的部分手打一下
location /yunpan{
proxy_pass https:127.0.0.1:zfileport;
proxy_http_version 1.1;
}
我看了 zfile 的日志,好像是我的转发没有生效,直接通过 ip 访问 zfile 是有记录的,用 mydomain/yunpan 是没有记录的
location /yunpan/ {
proxy_pass https://127.0.0.1:zfileport/;
}
注意最后那个斜杠。
按你原来的写法 访问 domain.com/yunpan/xxx 会被代理到 127.0.0.1:port/yunpan/xxx
楼上正解
看看 url 吧 400 是请求有问题,看你上面的是 url 不对。
感谢但是还是不行,这次会跳到我博客的 /search/error.html 页面,会不会是和我套了 cf 的 cdn 有关系
你这个反代的是 https 协议?难道不要带上 host 吗?
chmod 读的权限
不是 https 写错了 配置里是 http 。
不是这个问题,权限已经给 nginx 了
proxy_set_header Host $host;
zfile 项目添加访问前缀 /yunpan
你实际访问是这样的 domain.com/yunpan/xxx,找不到静态页面
感谢 昨天发现的确是这个问题已经添加了,现在出现了跨域请求的问题