V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daijinming
V2EX  ›  程序员

nginx 代理配置问题求教

  •  
  •   daijinming · 2019-03-20 15:15:19 +08:00 · 1845 次点击
    这是一个创建于 2082 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码链接 同样一个目标地址,但是一个是在根目录下代理,另外一个是二级目录下 /is4 , 根目录下能访问,但是二级目录下返回空白。

    location / { proxy_pass http://is4;

    location /is4 { proxy_pass http://is4;

    代码链接

    17 条回复    2019-03-21 23:50:28 +08:00
    msg7086
        1
    msg7086  
       2019-03-20 15:28:51 +08:00
    proxy_pass http://is4;
    ->
    proxy_pass http://is4/;

    试试看
    daijinming
        2
    daijinming  
    OP
       2019-03-20 15:32:49 +08:00
    @msg7086 还是 404,http://114.116.96.150:5080/is4
    villivateur
        3
    villivateur  
       2019-03-20 15:33:09 +08:00 via Android
    第二个加个斜杠
    Location /is4/
    daijinming
        4
    daijinming  
    OP
       2019-03-20 15:49:35 +08:00
    @villivateur 还是不行
    neoblackcap
        5
    neoblackcap  
       2019-03-20 15:59:09 +08:00
    第二个的 URL 是 /is4/xxxx 这样的哦,你确定你后端能处理这样的请求?
    marsgt
        6
    marsgt  
       2019-03-20 16:20:13 +08:00
    @daijinming
    老大你这带端口号的 URL 啊,你规则里明显 listen 的是 80 端口。。。
    daijinming
        7
    daijinming  
    OP
       2019-03-20 16:21:19 +08:00
    @neoblackcap http://114.116.96.150:5080 这个是根目录代理,可以访问,和 /is4 目录下是一样的代理设置是一样的,这个就是配置 http://elef.top/6424421.code
    neoblackcap
        8
    neoblackcap  
       2019-03-20 16:35:31 +08:00
    @daijinming 我怎么感觉你这个不仅仅是一个转发啊,你可能还需要跟 rewrite 模块配合吧。你一样的配置不是更说明第二个不能处理 /is4/xxxxx 这样的请求吗?你要试的话,可以直接将域名以后的 url 跟你要转发的目标 ip 拼在一起先试试看看到底是不是 404。

    你这样的信息是在太少
    daijinming
        9
    daijinming  
    OP
       2019-03-20 16:40:01 +08:00
    @neoblackcap 感谢,我试试,应该是 rewrite 的问题,之前在本地配置 nginx 的时候用 rewrite 来的,不过这个放在 docker 中,类似 API 网关,目标服务外部不能访问来着,所以测试起来无从下手
    daijinming
        10
    daijinming  
    OP
       2019-03-20 16:54:48 +08:00
    @neoblackcap 真的很有意思 http://114.116.96.150:5080/is4/ 就可以了,http://114.116.96.150:5080/is4 就不行
    daijinming
        11
    daijinming  
    OP
       2019-03-20 17:06:17 +08:00
    @neoblackcap 能在补充一个问题吗,http://site/is4 有个连接是 http://site/.well-known/openid-configuration,实际上它应该是 http://site/is4/.well-known/openid-configuration, 你觉得这种问题能处理吗
    daijinming
        12
    daijinming  
    OP
       2019-03-20 17:07:07 +08:00
    现在的配置
    location /is4 {
    proxy_pass http://is4;
    rewrite ^/is4(.*)$ $1 break;
    }
    ebingtel
        13
    ebingtel  
       2019-03-21 08:46:25 +08:00
    @daijinming 不错不错……不像有些人 来要 solution 最终都不分享的……
    Exia
        14
    Exia  
       2019-03-21 14:30:19 +08:00
    帖主,你好,翻译贴进不去了,这里回一下吧,意见:挺好的,前端优化一下,访问速度慢,发现个 bug,百度翻译好像两段文字有换行就不会翻译第二段了
    daijinming
        15
    daijinming  
    OP
       2019-03-21 15:17:45 +08:00
    @Exia BUG 已经修改了,可以翻译多行了。
    Exia
        16
    Exia  
       2019-03-21 15:27:03 +08:00
    @daijinming 先收藏了,那些框最好能改改样式,输入框太高,能换行最好能换行,谷歌的框比百度高,小细节了,谢谢
    neoblackcap
        17
    neoblackcap  
       2019-03-21 23:50:28 +08:00   ❤️ 1
    @daijinming 你补充的问题是可以处理的,毕竟 nginx 的规则是正则匹配,同时是由上自下匹配,因此你这个问题用单独写一条详细的 /.well-known/openid-configuration 同样配合 rewrite 模块进行改写就好了

    location /.well-known/openid-configuration {
    proxy_pass http://is4;
    }

    单独写一条如何?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   974 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:02 · PVG 07:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.