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