比如服务器有个 resilio home sync webui
什么鬼的
如上举例 那么 地址是http://127.0.0.1:8888/
并且访问会有一个 http auth 弹框
我现在的 nginx 配置对应部分是这样:
server{
listen 80;
server_name ******;
location / {
max_client_body_size 100m;
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host;
}
}
直接访问的结果是 404
所以要怎么改配置文件才能正常访问?
??:v2ex 里 tabstop=8?
1
ylck 2017-08-21 17:35:53 +08:00
```
proxy_set_header Authorization "Basic $orig_Authorization"; ``` |
2
mjikop1231 OP @ylck 这样做了,并没有弹出 HTTP AUTH,仍旧是 404。
|
3
shiny 2017-08-21 17:47:14 +08:00
请确定下确实能访问你的 http://127.0.0.1:8888; ,以及能正确访问到这段 nginx 配置?
以下是我的 Resilio 反代配置,以及用了很久了(放在 docker 中,所以 proxy_pass 中的 sync 是主机名) server { listen 80; server_name **; location / { proxy_pass http://sync:8888; } } |
4
mjikop1231 OP @shiny 确定啊。但我没有把 resilio 放到 docker 里,我在实体机环境下运行的 resilio。
|
5
shiny 2017-08-21 18:08:56 +08:00
@mjikop1231 是不是 docker 没什么区别,无非是改成 ip。理论上应该能用才对。你可以看下 nginx 的日志
|
6
mjikop1231 OP @shiny 除了 access.log 里一堆 404 以外啥都没。。。
|
7
rrfeng 2017-08-21 18:44:52 +08:00
404 还是 403 ?
|
8
Showfom 2017-08-21 18:52:12 +08:00
proxy_set_header Authorization "Basic base64 编码";
你得直接把密码给写上去的 后面的 base64 编码是 base64(username:password) |
9
Showfom 2017-08-21 18:54:39 +08:00
如果需要登陆的时候验证的话,得自己在 location 下再加一段 auth 认证,反代是不可能的
或者你换个别的方法,直接用 haproxy 或者 iptables 把 tcp 80 端口映射到 8888 端口 |