真小白,请教一个 nginx 入门的配置问题,有关反向代理的

2020-03-04 13:01:33 +08:00
 yazoox

楼主搭了一个 jackett,想试试这玩意。但是它的端口是 9117,想换成 80 端口。所以,需要 nginx 的反向代理。

参考了一下 Jackett 的官方文档( https://github.com/Jackett/Jackett/wiki/Reverse-Proxy

CentOS7

Jackett 安装在 /home/myname/Jackett 目录下面,端口 9117

e.g. http://myjack.ml:9117 (大家能够看到 Jackett 的登录界面)

nginx 已经安装好了。能够正常启动工作。

e.g. http://myjack.ml (大家能够看到 nginx 的 welcome )

"sudo tail -100 /var/log/nginx/error.log"能够看到下面这句:

2020/03/04 03:49:41 [error] 83094#83094: *2 open() "/usr/share/nginx/html/Jackett" failed (2: No such file or directory), client: xxx.23x.25x.1xx, server: localhost, request: "GET /Jackett HTTP/1.1", host: "myjack.ml"

楼主分析,重定向到 /usr/share/nginx/html/Jackett 这个目录下去了,但楼主改了 指向 jackett 安装目录 root /home/myname/Jackett; 好像没有用。

/etc/nginx/sites-available/jackett.conf

/etc/nginx/sites-enabled/jackett.conf -> ln 到上面这个文件

nginx, /etc/nginx/nginx.conf 里面,我添加了这一句:

include /etc/nginx/sites-enabled/*;

jackett.conf 的内容如下:

server {
    root /home/myname/Jackett; #不论有没有这一句,都会出现上面 error.log 里面的错误

    location /jackett/ {
        proxy_pass         http://127.0.0.1:9117; #http://localhost:9117 错误一样
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Forwarded-Host $http_host;
    }
}

楼主不会 nginx,只是照葫芦画了一下。有没有高手,帮忙看一眼,这个该如何配置?

万分感谢!

p.s. 我希望能够 http://myjack.ml/jackett 能够正常打开 jackett 的 web UI 当然,最终,我可能会再改改,http://myjack.ml 直接能打开 jackett web UI 更好

3697 次点击
所在节点    NGINX
26 条回复
dorothyREN
2020-03-04 20:28:05 +08:00
竟然没有 listen 跟 server_name 这俩参数
wangqianwei
2020-03-04 21:13:04 +08:00
源码地址有文档那么复杂,在默认的配置文件加一个 location 就好

下面的是他的示例:

Example config for Nginx:

location /jackett {
proxy_pass http://127.0.0.1:9117;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_redirect off;
}
wangqianwei
2020-03-04 21:14:28 +08:00
lbyo
2020-03-04 21:55:58 +08:00
40 分钟过去了,楼主搞好没,啥原因
yanyueio
2020-03-04 22:08:33 +08:00
逐一排查一下,location 后面的 /,proxypass 就不要 / 了',最后是否配置了 Servername,或者是否命中了 conf 文件。最后两种可能几率笑,我经历过的大概率的是 /,比如在 sub path 下配置 phpmyadmin,当然那里还有静态资源 rewrite 的问题。如果是其他情况,那基本也逃脱不过 nginx 转发服务的范畴吧,囧。
yazoox
2020-03-05 16:15:33 +08:00
搞定!
有兴趣的可以看我前面的附言!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/649741

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX