angular6+springboot實(shí)現(xiàn)前后分離nginx配置
工作場景
苦逼碼農(nóng)一個,公司技術(shù)上希望跟上潮流,但人員不希望跟上,所以前后一起開發(fā),對于只開發(fā)前端代碼的人來說可以 mock 數(shù)據(jù),但是本人既然連后臺代碼一起開發(fā),希望通過 nginx 代理直接訪問接口返回數(shù)據(jù),so...
nginx 配置
server {
listen 8085;
server_name localhost;
location / {
proxy_pass http://localhost:4200;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ~ /server/.+ {
rewrite /server/(.+) /$1 break;
proxy_pass http://localhost:8082;
proxy_cookie_path ~*^/.+/([^/]*) /$1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}解析
自動略過 server 的前兩行
- 第一個 location 代理的是前端開發(fā)服務(wù),服務(wù)啟動在 4200 端口; 這個 location 的后 3 行配置是為了讓 nginx 可以代理 websocket , 生產(chǎn)中如果工程中沒有 websocket 可以不用; 開發(fā)中 websocket 主要是為了方便快速的在代碼重新發(fā)布之后可以自動刷新頁面
- 第二個 location 代理的是后臺服務(wù)器,
~ /server/.+代表這個 location 會處理所有符合這個正則的請求,不會與 第一個 location 的/沖突,因為 ~ 比 默認(rèn)的匹配模式高 - 第二個 location 中第一行 rewrite 是重寫請求 url,比如 請求的是 /server/service-name/user/currentUser,實(shí)際想要請求的是 /service-name/user/currentUser, 所以需要 nginx 重寫這個請求的地址
proxy_cookie_path針對的是 服務(wù)器響應(yīng)頭中的Set-cookie的 Path 屬性,因為后臺服務(wù)器返回給前臺的 cookie 是帶有自身的 contextpath 的,比如:springboot 中配置了 server.servlet.content-path=mall 或者 tomcat 中的工程名字是 mall ,那么響應(yīng)給前臺的 Set-cookie 的 path 就是 /mall,但是瀏覽器在登陸以后的請求時帶的 cookies 就沒有 path 屬性,這會導(dǎo)致登陸狀態(tài)失效;所以proxy_cookie_path是將 服務(wù)器返回 的 cookies 的 path 進(jìn)行轉(zhuǎn)換的,上面的配置是將服務(wù)器返回的 cookies 路徑的前綴去掉第一段
以上就是angular6+springboot實(shí)現(xiàn)前后分離nginx配置的詳細(xì)內(nèi)容,更多關(guān)于前后分離nginx配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx設(shè)置成服務(wù)并開機(jī)自動啟動的配置
Nginx?是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù),接下來通過本文給大家介紹Nginx設(shè)置成服務(wù)并開機(jī)自動啟動的配置,需要的朋友可以參考下2022-01-01
配置nginx訪問本地靜態(tài)資源,本地圖片,視頻教程
文章介紹了如何配置Nginx以訪問本地靜態(tài)資源、圖片和視頻,首先,進(jìn)入Nginx安裝目錄并打開`nginx.conf`文件,添加一個新的`server`配置來指定本地路徑,然后,通過命令行重啟Nginx服務(wù)以應(yīng)用更改,最后,通過瀏覽器訪問配置的圖片路徑來驗證配置是否成功2025-01-01
Nginx代理導(dǎo)致請求頭某些內(nèi)容丟失的問題解決
本文主要介紹了在使用NGINX代理時請求頭中的下劃線被自動忽略的問題,通過兩種方法解決了這個問題,具有一定的參考價值,感興趣的可以了解一下2025-02-02
簡單了解Nginx七層負(fù)載均衡的幾種調(diào)度算法
這篇文章主要介紹了簡單了解Nginx七層負(fù)載均衡的幾種調(diào)度算法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制
如果你的服務(wù)器被攻擊很厲害,而且服務(wù)器是自己練手的,不需要其他用戶訪問的,那么就可以配置一下nginx的白名單,下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制的相關(guān)資料,需要的朋友可以參考下2022-07-07

