nginx之"/"結尾


一、配置127.0.0.1:8081的tomcat下的文件:

1、ROOT/a.html : this is ROOT page

2、ROOT/testa.html : nihao

3、ROOT/index.html : this is ROOT index page

4、test/a.html  :  this is test page

5、test/index.html  :  this is test index page

 

二、nginx 的server_name配置如下:

1、proxy_pass的URI不帶路徑:

server {

        listen 80;

        server_name www.test.com;

        location /nihao {            

            proxy_pass http://127.0.0.1:8081;

            index  index.html;

        } 

                #location 后無/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/nihao/a.html

                #curl http://www.test.com/nihao/a.html    因hello目錄不存在

             #The requested resource is not available

 

        location /test {

            proxy_pass http://127.0.0.1:8081;

            index  index.html;

        }

                #location 后無/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/test/a.html

              #curl http://www.test.com/test/a.html

              #this is test page

 

        location /hello/ {

            proxy_pass http://127.0.0.1:8081;

            index  index.html;

        }

                #location 后有/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/hello/a.html

                #curl http://www.test.com/hello/     因hello目錄不存在

             #The requested resource is not available

        location /test/ {

            proxy_pass http://127.0.0.1:8081;

            index  index.html;

        }

               #location 后有/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/test/a.html

               #curl http://www.test.com/test/

            #this is test index page

}

server {

        listen 80;

        server_name www.test1.com;

        location /nihao {

            proxy_pass http://127.0.0.1:8081/;

            index  index.html;

        }

              #location 后無/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/a.html

              #curl http://www.test1.com/nihao/a.html

            #this is ROOT page

 

        location /test {

            proxy_pass http://127.0.0.1:8081/;

            index  index.html;

        }

            #location 后無/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/a.html   

             #curl http://www.test1.com/test/a.html

           #this is ROOT page

 

        location /hello/ {

            proxy_pass http://127.0.0.1:8081/;

            index  index.html;

        }

            #location 后有/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/index.html

            #curl http://www.test1.com/hello/

          #this is ROOT index page

 

        location /test/ {

            proxy_pass http://127.0.0.1:8081/;

            index  index.html;

        }

            #location 后有/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/index.html

           #curl http://www.test1.com/test/

         #this is ROOT index page

}

 

2、proxy_pass的URI帶路徑:

server {

        listen 80;

        server_name www.test.com;

        location /nihao {

            proxy_pass http://127.0.0.1:8081/test;

            index  index.html;

        }

                #location 后無/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/test/a.html

             #curl http://www.test.com/nihao/a.html

             #this is test page

             #curl http://www.test.com/nihao

             #this is test index page

 

        location /test {

            proxy_pass http://127.0.0.1:8081/test;

            index  index.html;

        }

               #location 后無/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/test//

             #curl http://www.test.com/test  重定向為:http://www.test.com/test//

             #指向此網址的請求無限循環重定向

 

        location /hello/ {

            proxy_pass http://127.0.0.1:8081/test;

            index  index.html;

        }

               #location 后有/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/testa.html

             #curl http://www.test.com/hello/a.html

             #nihao

             #curl http://www.test.com/hello/   重定向為:http://www.test.com/hello//

             #指向此網址的請求無限循環重定向

 

        location /test/ {

            proxy_pass http://127.0.0.1:8081/test;

            index  index.html;

        }

               #location 后有/   proxy_pass 后無/  代理到 http://127.0.0.1:8081/testa.html

             #curl http://www.test.com/test/a.html

             #nihao

             #curl http://www.test.com/test/  重定向為:http://www.test.com/test//

             #指向此網址的請求無限循環重定向

}

server {

        listen 80;

        server_name www.test1.com;

        location /nihao {

            proxy_pass http://127.0.0.1:8081/test/;

            index  index.html;

        }

               #location 后無/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/test/a.html

             #curl http://www.test1.com/nihao

             #this is test index page

             #curl http://www.test1.com/nihao/a.html

             #this is test page

 

        location /test {

            proxy_pass http://127.0.0.1:8081/test/;

            index  index.html;

        }

               #location 后無/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/test/index.html

             #curl http://www.test1.com/test

             #this is test index page

 

        location /hello/ {

            proxy_pass http://127.0.0.1:8081/test/;

            index  index.html;

        }

               #location 后有/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/test/a.html

             #curl http://www.test1.com/hello

             #this is test index page

             #curl http://www.test1.com/hello/a.html

             #this is test page

        location /test/ {

            proxy_pass http://127.0.0.1:8081/test/;

            index  index.html;

        }

                #location 后有/   proxy_pass 后有/  代理到 http://127.0.0.1:8081/test/a.html

              #curl http://www.test1.com/test/a.html

              #this is test page

}

 

三、總結:

nginx中配置proxy_pass代理轉發時,如果在proxy_pass后面的url/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走。

proxy_pass的URI帶路徑中如果location的不帶/,最好proxy_pass也不帶;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM