• 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

    艺无止境,诚惶诚恐, 感谢开源贡献者的努力!!
  • 相关阅读:
    iOS开发UI篇—CAlayer简介
    iOS开发UI篇—ios手势识别(双击、捏、旋转、拖动、划动、长按, 上下左右滑动)
    录屏专家
    加载Gif图片方法
    制作酸奶方法
    UITabBar小红点(适配iPad)
    那些著名或非著名的iOS面试题-后编
    iOS学习资源
    实用的Mac软件
    安装iOS企业包流程
  • 原文地址:https://www.cnblogs.com/d0usr/p/12487335.html
Copyright © 2020-2023  润新知