晓夏

新手菜鸟Linux学习之路

不怕从零开始,只怕从未启程

nginx配置之proxy_pass代理路径及rewrite多级目录转单目录

浏览量:376

nginx配置之proxy_pass代理路径

nginx作为一个拥有不错性能的反向代理服务器, 其proxy_pass指令配置有以下几点需要注意的情况.


proxy_pass uri; uri是代理的资源路径
proxy_pass指令的代理格式中,字符串uri分为两种情况, 以正斜杠 / 结尾和以非正斜杠结尾.
正斜杠 / 结尾 :
表示绝对路径代理 , 取代匹配的location参数后的匹配路径字符串;
非正斜杠 / 结尾 :
表示相对路径代理 . 此处如果uri表示的是服务器地址, 则代理请求路径中的服务器地址路径部分 ; 如果uri代理的是服务器上的指定资源, 则代理请求路径中的服务器地址和紧接其后的匹配的location参数部分.


分别以一下几个例子说明:


 例1 :

location /proxypath/ {
	proxy_pass http://localhost[:port]/;
}


这个也可以使用rewrite将多级目录转单目录

location ^~ /proxypath/ 
{  
    rewrite /proxypath/(.*)$ /$1 break; 
    proxy_pass http://localhost; 
}

访问  http://localhost/proxypath/page.html时  将由地址http://localhost/page.html页面代理请求



 例2 :

location /proxypath/ {
proxy_pass http://localhost[:port];
}

访问  http://localhost/proxypath/page.html时  将由地址http://localhost/proxypath/page.html页面代理请求


   例3 :

location /proxypath/ {
proxy_pass http://localhost[:port]/resourcepath;
}

访问  http://localhost/proxypath/page.html时  将由地址http://localhost/resourcepathpage.html页面代理请求


  例4 :

location /proxypath/ {
	proxy_pass http://localhost[:port]/resourcepath/;
}

访问  http://localhost/proxypath/page.html时  将由地址http://localhost/resourcepath/page.html页面代理请求



分享:

支付宝

微信