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也不带;
做人一定要靠自己