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;
}
}