nginx去掉前端配置的路徑前綴兩種情況
背景
在前端項目部署到nginx的時候,前端訪問后端的路徑加了一個全局前綴,一般來說這是前后端商量好的,但是呢也會有不一般的情況,后端在遇到這種情況的時候有兩種選擇
- 第一種是給項目里也加上同樣的前綴
- 第二種就是nginx配置文件做出修改
這里我選擇了后者
第一種方式,這樣的結果是你后端項目同樣需要加上prod-api
location /prod-api{ proxy_pass http://193.1.0.6:10004; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
第二種方式,直接prod-api 后加個斜杠,同時在端口后面也加個斜杠,這樣實際請求的路徑就去掉了/prod-api
這樣訪問的/prod-api/test/1 實際就會變成 http://193.1.0.6:10004/test/1,就像是springmvc的靜態(tài)資源映射一樣的
location /prod-api/{ proxy_pass http://193.1.0.6:10004/; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
比如:
前端服務器url為:https://114.114.114.114:8002/myqz/menu/index.html
后臺服務器地址為:http://127.0.0.1:9008
第一種方式:
自動拼接前綴,前端服務器地址為:https://114.114.114.114:8002/menu/index.html
location ~ \.do$ { 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:9008; } location ~ ^/(.*)$ { 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 https://114.114.114.114:8002/myqz/$1?$args; }
第二種方式:
替換前綴 ,前端服務器地址為:https://114.114.114.114:8002/myqz/menu/index.html
location / { 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 https://114.114.114.114:8002; } location ~ \.do$ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; rewrite ^/myqz/(.*)$ /$1 break; proxy_pass http://127.0.0.1:9008; }
總結
到此這篇關于nginx去掉前端配置的路徑前綴兩種情況的文章就介紹到這了,更多相關nginx去掉前端路徑前綴內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker Nginx容器和Tomcat容器實現負載均衡與動靜分離操作
這篇文章主要介紹了Docker Nginx容器和Tomcat容器實現負載均衡與動靜分離操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11關于nginx報錯405?not?allowed解決方法總結
這篇文章主要給大家介紹了關于nginx報錯405?not?allowed解決方法的相關資料,nginx遇到post請求靜態(tài)文件會得到405錯誤,文中通過代碼介紹的非常詳細,也給出了推薦方法,需要的朋友可以參考下2023-10-10