zoukankan      html  css  js  c++  java
  • Nginx 中 proxy_pass 的斜杠问题

    server {
        listen       80;
        server_name  localhost;
    
        location /api1/ {
           proxy_pass http://localhost:8080;
        }
        
        # http://localhost/api1/xxx -> http://localhost:8080/api1/xxx
    
    
        location /api2/ {
           proxy_pass http://localhost:8080/;
        }
        
        # http://localhost/api2/xxx -> http://localhost:8080/xxx
    
    
        location /api3 {
            proxy_pass http://localhost:8080;
        }
        
        # http://localhost/api3/xxx -> http://localhost:8080/api3/xxx
    
    
        location /api4 {
            proxy_pass http://localhost:8080/;
        }
        
        # http://localhost/api4/xxx -> http://localhost:8080//xxx,请注意这里的双斜线,好好分析一下。
    
    
        location /api5/ {
            proxy_pass http://localhost:8080/haha;
        }
        
        # http://localhost/api5/xxx -> http://localhost:8080/hahaxxx,请注意这里的haha和xxx之间没有斜杠,分析一下原因。
    
        location /api6/ {
            proxy_pass http://localhost:8080/haha/;
        }
        
        # http://localhost/api6/xxx -> http://localhost:8080/haha/xxx
    
        location /api7 {
            proxy_pass http://localhost:8080/haha;
        }
        
        # http://localhost/api7/xxx -> http://localhost:8080/haha/xxx
    
        location /api8 {
            proxy_pass http://localhost:8080/haha/;
        }
        
        # http://localhost/api8/xxx -> http://localhost:8080/haha//xxx,请注意这里的双斜杠。
    }

    在 nginx 中配置 proxy_pass 时,当在后面的url加上了 /,相当于是绝对根路径,则 nginx 不会把 location 中匹配的路径部分代理走;

    如果没有 /,则会把匹配的路径部分也给代理走;

    参考链接:https://www.jianshu.com/p/c751250a5112

    艺无止境,诚惶诚恐, 感谢开源贡献者的努力!!
  • 相关阅读:
    vs2005 配置winpcap
    qt 解决中文乱码问题
    [翻译] QT正则表达式
    使用QSetting 读写ini文件
    [转]GNOME快捷键
    华为面试题之大整数相加
    qt 程序windows 上发布
    win7英文版中文乱码问题
    CURL命令 Alex
    Sendfile机制 Alex
  • 原文地址:https://www.cnblogs.com/d0usr/p/12487335.html
Copyright © 2011-2022 走看看