• nginx location proxy_pass 后面的url 加与不加/的区别


    这里我们分4种情况讨论

    这里我们请求的网站为:192.168.1.123:80/static/a.html

    整个配置文件是

    复制代码
    server{
    port  80,
    server name  192.168.1.123
    
    location /static{
    proxy_pass  192.168.2.321:81
    }
    
    location /static{
    proxy_pass  192.168.2.321:81/
    }
    
    location /static/{
    proxy_pass  192.168.2.321:81
    }
    
    location /static/{
    proxy_pass  192.168.2.321:81/
    }
    复制代码

    我们分开来讲:

    第一种:

    location后没有/      转发网站没有/
    复制代码
    #192.168.1.123->server name
    # :80 ---------> port
    #/statc ------->location
    #/a.html ------>proxy_pass 
    
    location /static{
    proxy_pass  192.168.2.321:81
    }
    复制代码
    最后网址经过nginx转向到的网址是 192.168.2.321:81/static/a.html

    第二种:

    location后没有/      转发网站有/
    复制代码
    #192.168.1.123---->server name
    # :80 ------------> port
    #/statc ---------->location
    #/a.html --------->proxy_pass 
    
    location /static{
    proxy_pass  192.168.2.321:81/
    }
    复制代码
    最后网址经过nginx转向到的网址是 192.168.2.321:81/a.html

    第三种:
    location后有/      转发网站没有/
    复制代码
    #192.168.1.123-->server name
    # :80 ------------> port
    #/statc/ ---------->location
    #a.html --------->proxy_pass 
    
    location /static/{
    proxy_pass  192.168.2.321:81
    }
    复制代码
    最后网址经过nginx转向到的网址是 192.168.2.321:81/static/a.html
    第四种:
    location后有/      转发网站有/
    复制代码
    #192.168.1.123-->server name
    # :80 ------------> port
    #/statc/ ---------->location(path1)
    #a.html --------->proxy_pass (path2)
    
    location /static/{
    proxy_pass  192.168.2.321:81/
    }
    复制代码
    最后网址经过nginx转向到的网址是 192.168.2.321:81/a.html

    总结:
    从这四种我们可以的看出,当nginx里面匹配时可以把端口后的参数分为path1+path2(其中我在上方标注的location属于path1,proxy_pass属于path2)
    proxy_pass  
    里面是ip:port+/时nginx最后匹配的网址是 proxy_pass的内容加上path2
    里面是ip:port时nginx最后匹配的网址是 proxy_pass的内容加上path1+path2

  • 相关阅读:
    【关键字】
    【选择结构语句:switch】
    【数据类型】
    【接口】
    【抽象类和接口的区别】
    【访问权限】
    【内部类】
    【方法】
    【this 关键字】
    【Static】
  • 原文地址:https://www.cnblogs.com/deny/p/14207029.html
Copyright © 2020-2023  润新知