Nginx反向代理入門(mén)實(shí)戰(zhàn)指南
概述
Nginx反向代理(Reverse Proxy):反向代理是指服務(wù)器根據(jù)客戶端的請(qǐng)求,從其關(guān)系的一組或多組后端服務(wù)器(如Web服務(wù)器)上獲取資源,然后再將這些資源返回給客戶端,客戶端只會(huì)得知反向代理的IP地址,而不知道在代理服務(wù)器后面的服務(wù)器簇的存在。
反向代理的作用
- 對(duì)客戶端隱藏服務(wù)器(集群)的IP地址
- 安全:作為應(yīng)用層防火墻,為網(wǎng)站提供對(duì)基于Web的攻擊行為(例如DoS/DDoS的防護(hù),更容易排查惡意軟件等
- 為后端服務(wù)器(集群)統(tǒng)一提供加密和SSL加速(如SSL終端代理)
- 負(fù)載均衡,若服務(wù)器集群中有負(fù)荷較高者,反向代理通過(guò)URL重寫(xiě),根據(jù)連線請(qǐng)求從負(fù)荷較低者獲取與所需相同的資源或備援
- 對(duì)于靜態(tài)內(nèi)容及短時(shí)間內(nèi)有大量訪問(wèn)請(qǐng)求的動(dòng)態(tài)內(nèi)容提供緩存服務(wù)
- 對(duì)一些內(nèi)容進(jìn)行壓縮,以節(jié)約帶寬或?yàn)榫W(wǎng)絡(luò)帶寬不佳的網(wǎng)絡(luò)提供服務(wù)
- 減速上傳
- 提供HTTP訪問(wèn)認(rèn)證
實(shí)踐Nginx反向代理內(nèi)網(wǎng)穿透8081端口
目的:隱藏8081端口,通過(guò)訪問(wèn)80端口實(shí)現(xiàn)訪問(wèn)8081端口
實(shí)現(xiàn)步驟
我們配置api 在8081端口,并且成功部署,此時(shí)8081對(duì)外開(kāi)放,所以可訪問(wèn)
以Ubuntu環(huán)境為例
$ cd /etc/nginx/ $ vim nginx.conf
Nginx http節(jié)點(diǎn)下 配置8081端口反向代理如下
server { listen 80 default_server; listen [::]:80 default_server; location /api/ {proxy_pass http://127.0.0.1:8081; } location /apidocs/ { proxy_pass http://localhost:8081/api/;index swagger-ui.html;error_page 404 http://localhost:8081/api/swagger-ui.html; } }
配置完成后重啟Nginx服務(wù)
$ service nginx restart
訪問(wèn)http://ip/apidocs/swagger-ui.html 成功
我們可以關(guān)掉服務(wù)器安全組規(guī)則,去掉8081端口-安全組規(guī)則,可以登錄阿里云配置,以阿里云為例,其他同理
http://ip/apidocs/swagger-ui.html 依然可以訪問(wèn)
http://ip:8081/api/swagger-ui.html 不可訪問(wèn)
至此,我們實(shí)現(xiàn)了nginx反向代理8081端口,通過(guò)訪問(wèn)80端口,代理到8081端口的目的
重點(diǎn)理解Ngnix location&proxy_pass字段規(guī)則
實(shí)現(xiàn)方式二配置upstream
在http節(jié)點(diǎn)下,加入upstream節(jié)點(diǎn)
upstream demo { server ip:8080; server ip:8081; }
將server節(jié)點(diǎn)下的location節(jié)點(diǎn)中的proxy_pass配置為:http:// + upstream名稱(chēng)
location / { proxy_pass http://demo; }
Nginx配置https支持
## # add cnn SSL Settings ## server{ listen 443; server_name demo.com; ssl on; ssl_certificate /etc/nginx/cert/test.pem; ssl_certificate_key /etc/nginx/cert/test.key; ssl_session_timeout 5m; location / { #根域名或者ip proxy_pass http://demo.com;} }
總結(jié)
到此這篇關(guān)于Nginx反向代理入門(mén)實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)Nginx反向代理內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。