V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mjikop1231
V2EX  ›  问与答

Nginx 怎么反代 带有 HTTP AUTH 的页面

  •  
  •   mjikop1231 · 2017-08-21 17:27:42 +08:00 · 2986 次点击
    这是一个创建于 2686 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如服务器有个 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?

    9 条回复    2017-08-21 18:54:39 +08:00
    ylck
        1
    ylck  
       2017-08-21 17:35:53 +08:00
    ```
    proxy_set_header Authorization "Basic $orig_Authorization";
    ```
    mjikop1231
        2
    mjikop1231  
    OP
       2017-08-21 17:43:12 +08:00
    @ylck 这样做了,并没有弹出 HTTP AUTH,仍旧是 404。
    shiny
        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;
    }
    }
    mjikop1231
        4
    mjikop1231  
    OP
       2017-08-21 17:52:23 +08:00
    @shiny 确定啊。但我没有把 resilio 放到 docker 里,我在实体机环境下运行的 resilio。
    shiny
        5
    shiny  
       2017-08-21 18:08:56 +08:00
    @mjikop1231 是不是 docker 没什么区别,无非是改成 ip。理论上应该能用才对。你可以看下 nginx 的日志
    mjikop1231
        6
    mjikop1231  
    OP
       2017-08-21 18:30:52 +08:00
    @shiny 除了 access.log 里一堆 404 以外啥都没。。。
    rrfeng
        7
    rrfeng  
       2017-08-21 18:44:52 +08:00
    404 还是 403 ?
    Showfom
        8
    Showfom  
       2017-08-21 18:52:12 +08:00
    proxy_set_header Authorization "Basic base64 编码";

    你得直接把密码给写上去的

    后面的 base64 编码是 base64(username:password)
    Showfom
        9
    Showfom  
       2017-08-21 18:54:39 +08:00
    如果需要登陆的时候验证的话,得自己在 location 下再加一段 auth 认证,反代是不可能的

    或者你换个别的方法,直接用 haproxy 或者 iptables 把 tcp 80 端口映射到 8888 端口
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2405 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:11 · PVG 10:11 · LAX 18:11 · JFK 21:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.