downgoon/ioteco

remove prefix when nginx proxy_pass

Closed this issue · 0 comments

语句A和语句B的区别 ?

语句A:

location /dbapi/ {
	proxy_pass http://databaseupstream;
}

语句B:

location /dbapi/ {
	proxy_pass http://databaseupstream/;
}

语句C:

location /dbapi/ {
	rewrite /dbapi/(.*)$ /$1 break;
    proxy_pass http://databaseupstream;
}

区别:

  • 在语句A中,访问 /dbapi/employee.json,转发时依然是 /dbapi/employee.json
  • 在语句B中,访问/dbapi/employee.json,转发时,前缀会被切掉,变成 /employee.json
  • 在语句C中,完全等价于语句B。只是实现方式用的是URL重写。

参考资料: