美文网首页MobDevGroup
nginx代理proxy_pass绝对路径和相对路径实验

nginx代理proxy_pass绝对路径和相对路径实验

作者: CUFFS | 来源:发表于2017-04-03 00:27 被阅读4436次

    在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走
    假设下面四种情况分别用 http://127.0.0.1/proxy/cuffs/css/toosimple.txt 进行访问,toosimple.txt文件里面写文件路径方便对比。

    代理服务10.0.0.1:8080根目录结构如下

    static01
    └── cuffs
    └── css
    └── toosimple.txt
    static01cuffs
    └── css
    └── toosimple.txt
    proxy
    └── cuffs
    └── css
    └── toosimple.txt
    cuffs
    └── css
    └── toosimple.txt

    nginx代理配置

    第一种绝对路径

    location /proxy/ {
             proxy_pass http://10.0.0.1:8080/;
        }
    

    当访问 http://127.0.0.1/proxy/cuffs/css/toosimple.txt时,nginx匹配到/proxy/路径,把请求转发给10.0.0.1:8080服务,实际请求代理服务器的路径为
    http://10.0.0.1:8080/cuffs/css/toosimple.txt

    第二种相对路径

    location /proxy/ {
             proxy_pass http://10.0.0.1:8080;
        }
    

    当访问 http://127.0.0.1/proxy/cuffs/css/toosimple.txt时,nginx匹配到/proxy/路径,把请求转发给10.0.0.1:8080服务,实际请求代理服务器的路径为
    http://10.0.0.1:8080/proxy/cuffs/css/toosimple.txt 此时nginx会把匹配的proxy也代理给代理服务器

    第三种

    location /proxy/ {
             proxy_pass http://10.0.0.1:8080/static01/;
        }
    

    当访问 http://127.0.0.1/proxy/cuffs/css/toosimple.txt时,nginx匹配到/proxy/路径,把请求转发给10.0.0.1:8080服务,实际请求代理服务器的路径为
    http://10.0.0.1:8080/static01/cuffs/css/toosimple.txt

    第四种

    location /proxy/ {
             proxy_pass http://10.0.0.1:8080/static01;
        }
    

    当访问 http://127.0.0.1/proxy/cuffs/css/toosimple.txt时,nginx匹配到/proxy/路径,把请求转发给10.0.0.1:8080服务,实际请求代理服务器的路径为
    http://10.0.0.1:8080/static01cuffs/css/toosimple.txt

    参考:http://m.blog.csdn.net/article/details?id=48803235

    相关文章

      网友评论

      本文标题:nginx代理proxy_pass绝对路径和相对路径实验

      本文链接:https://www.haomeiwen.com/subject/rdjnottx.html