Nginx实现同一个端口访问不同前后端项目
Nginx实现通过不同的url前缀访问不同的前后端项目
近期谷歌浏览器更新后,浏览器访问网页已经不能通过一个页面实现不同端口号的跳转(例如多个不同前端项目的合并登录页),所以目前就可以通过给网页访问链接增加不同的url前缀,来让Nginx去实现同一端口下访问不同的前后端项目。具体配置如下:
(我这里是前端两个项目各自对应后端的两个服务)
server {
#这里默认监听80端口,可根据项目需要自行设置需要监听的端口号
listen 80;
server_name 此处填写项目发布的域名或者ip地址;
location / {
root 此处填写前端项目文件路径(默认访问的前端项目一的路径);
index index.html index.htm;
}
#这里因为每个server只能有一个root 所以在根目录默认有root之后,可以通过alias来配置其他文件路径
#ex: http://www.xxx.com:xxx/unst/#/xxx,将/unst这个前置在页面跳转时加入url的#号之前即可
location /unst {
alias 此处填写前端项目文件路径(前端项目二的路径);
index index.html index.htm;
}
#前端项目一对应的后端服务一的跳转配置
location /st/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8089;
}
#前端项目二对应的后端服务二的跳转配置
location /un/ {
proxy_pass http://127.0.0.1:8091;
}
}