nginx做代理轉(zhuǎn)發(fā)前端請求到后端的代碼示例
Nginx 作為反向代理服務(wù)器可以很好地處理代理轉(zhuǎn)發(fā)的請求,它能夠?qū)⒖蛻舳说恼埱筠D(zhuǎn)發(fā)到后端服務(wù)器,并將后端服務(wù)器的響應(yīng)返回給客戶端(避免直接向后端發(fā)送請求,隱藏后端服務(wù)器地址)。下面介紹如何配置 Nginx 進(jìn)行代理轉(zhuǎn)發(fā),進(jìn)行基礎(chǔ)配置。
用docker構(gòu)建nginx鏡像時(shí)的配置文件舉例,在對應(yīng)的配置文件的代碼塊添加/api
http
server { listen 80; # 監(jiān)聽端口 server_name your-domain.com; # 服務(wù)器域名或IP location /api { proxy_pass http://backend-server:8080; # 代理轉(zhuǎn)發(fā)地址 proxy_set_header Host $host; # 轉(zhuǎn)發(fā)頭部,保留原始主機(jī)名 proxy_set_header X-Real-IP $remote_addr; # 轉(zhuǎn)發(fā)客戶端真實(shí)IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 轉(zhuǎn)發(fā)原始 IP 地址 proxy_set_header X-Forwarded-Proto $scheme; # 轉(zhuǎn)發(fā)協(xié)議(HTTP/HTTPS) } location / { # 處理其它請求(如靜態(tài)文件等) root /var/www/html; # 指定根文件夾 index index.html index.htm; } }
https
server { listen 443 ssl; # 監(jiān)聽 HTTPS server_name your-domain.com; ssl_certificate /etc/ssl/certs/your-certificate.crt; # SSL 證書路徑 ssl_certificate_key /etc/ssl/private/your-private-key.key; # SSL 私鑰路徑 location /api { proxy_pass http://backend; # 代理轉(zhuǎn)發(fā)地址 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_set_header X-Forwarded-Proto $scheme; } }
- proxy_pass:指定請求轉(zhuǎn)發(fā)的目標(biāo)地址,可以是 URL 或者上游主機(jī)組。
- proxy_set_header:設(shè)置轉(zhuǎn)發(fā)頭,通常用來傳遞客戶端的真實(shí) IP 和協(xié)議等信息。
- upstream:定義一個(gè)上游服務(wù)器組,在負(fù)載均衡的情況下使用。
為了更好地監(jiān)控和調(diào)試過程,可以在 Nginx 配置中添加訪問和錯誤日志:
http { access_log /var/log/nginx/access.log; # 訪問日志路徑 error_log /var/log/nginx/error.log; # 錯誤日志路徑 }
總結(jié)
到此這篇關(guān)于nginx做代理轉(zhuǎn)發(fā)前端請求到后端的文章就介紹到這了,更多相關(guān)nginx轉(zhuǎn)發(fā)前端請求到后端內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于nginx 實(shí)現(xiàn)jira反向代理的問題
這篇文章主要介紹了關(guān)于nginx 實(shí)現(xiàn)jira反向代理的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器
本文主要介紹了利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05如何利用map實(shí)現(xiàn)Nginx允許多個(gè)域名跨域
這篇文章主要給大家介紹了關(guān)于如何利用map實(shí)現(xiàn)Nginx允許多個(gè)域名跨域的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10