假设我们有几个应用,但是没有多余的域名,那么怎么用同一个域名根据路径进行转发呢?并且这个路径需要可以随便指定,不能被这些应用影响?
其实很简单,主要要坚持如下两个原则
1、后端应用的所有静态资源以及接口请求都是用相对路径,也就是”./“,而不能用”/“.
2、nginx加上如下配置
location /a {
proxy_pass http://应用A的域名或者ID和端口/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /b {
proxy_pass http://应用B的域名或者ID和端口/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
上面的a和b可以随意指定。还有proxy_pass配置的后面一定要加上”/“,只有这样,前端请求的时候转发到后端才会把/a或者/b截取掉。不然就会一起转发,那么后端也需要有这个路径,那就违反了我们开始的要求”随意指定,对后端不影响”.