V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Cola90
V2EX  ›  Linux

求助一个基础 Nginx 问题

  •  
  •   Cola90 · 2018-02-01 11:33:13 +08:00 · 2844 次点击
    这是一个创建于 2469 天前的主题,其中的信息可能已经有所发展或是发生改变。

    location / { proxy_pass http://10.0.0.1; }

    访问 /login.html 正常 访问 /login/login.html 提示 404,这时数据并不会转发到后端服务器。

    问题:像 /login/login.html 这种有二级路径的应该怎样写 location? Nginx 有没有类似 Haproxy dafault backend 的选项?

    7 条回复    2018-02-01 14:45:53 +08:00
    234747005
        1
    234747005  
       2018-02-01 11:38:45 +08:00   ❤️ 1
    location / { proxy_pass http://10.0.0.1; }
    这一行就等于 http://10.0.0.1/
    如果你是想 /login/login.html 等于 http://10.0.0.1/login/login.html
    你就 z 这样改 location /login { proxy_pass http://10.0.0.1; }
    Beebird
        2
    Beebird  
       2018-02-01 11:39:36 +08:00
    如果 location / 是唯一的规则的话,访问任意 uri 都必定会转发到后端 proxy 的,楼主应该是搞错了吧。
    Cola90
        3
    Cola90  
    OP
       2018-02-01 12:38:20 +08:00
    @Beebird 是唯一规则,但是这地址 nginx 会在本地找资源,而不是转发到后端服务器,我也搞不懂
    seers
        4
    seers  
       2018-02-01 12:41:16 +08:00
    proxy_pass http://10.0.0.1/;
    panzhc
        5
    panzhc  
       2018-02-01 12:51:14 +08:00
    location /login { proxy_pass http://10.0.0.1/; }
    加一个 location,ip 后面的斜杠不能少
    JHerschel
        6
    JHerschel  
       2018-02-01 14:09:41 +08:00
    @Beebird 说的没错,如果只有这一条规则的话,访问 /login/login.html 应该会被转发到 http://10.0.0.1/login/login.html;
    Cola90
        7
    Cola90  
    OP
       2018-02-01 14:45:53 +08:00
    已解决,感谢楼上各位
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:41 · PVG 03:41 · LAX 11:41 · JFK 14:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.