Nginx反向代理入門實戰(zhàn)指南
概述
Nginx反向代理(Reverse Proxy):反向代理是指服務(wù)器根據(jù)客戶端的請求,從其關(guān)系的一組或多組后端服務(wù)器(如Web服務(wù)器)上獲取資源,然后再將這些資源返回給客戶端,客戶端只會得知反向代理的IP地址,而不知道在代理服務(wù)器后面的服務(wù)器簇的存在。

反向代理的作用
- 對客戶端隱藏服務(wù)器(集群)的IP地址
- 安全:作為應(yīng)用層防火墻,為網(wǎng)站提供對基于Web的攻擊行為(例如DoS/DDoS的防護,更容易排查惡意軟件等
- 為后端服務(wù)器(集群)統(tǒng)一提供加密和SSL加速(如SSL終端代理)
- 負載均衡,若服務(wù)器集群中有負荷較高者,反向代理通過URL重寫,根據(jù)連線請求從負荷較低者獲取與所需相同的資源或備援
- 對于靜態(tài)內(nèi)容及短時間內(nèi)有大量訪問請求的動態(tài)內(nèi)容提供緩存服務(wù)
- 對一些內(nèi)容進行壓縮,以節(jié)約帶寬或為網(wǎng)絡(luò)帶寬不佳的網(wǎng)絡(luò)提供服務(wù)
- 減速上傳
- 提供HTTP訪問認證
實踐Nginx反向代理內(nèi)網(wǎng)穿透8081端口
目的:隱藏8081端口,通過訪問80端口實現(xiàn)訪問8081端口
實現(xiàn)步驟
我們配置api 在8081端口,并且成功部署,此時8081對外開放,所以可訪問

以Ubuntu環(huán)境為例
$ cd /etc/nginx/ $ vim nginx.conf
Nginx http節(jié)點下 配置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
訪問http://ip/apidocs/swagger-ui.html 成功

我們可以關(guān)掉服務(wù)器安全組規(guī)則,去掉8081端口-安全組規(guī)則,可以登錄阿里云配置,以阿里云為例,其他同理
http://ip/apidocs/swagger-ui.html 依然可以訪問
http://ip:8081/api/swagger-ui.html 不可訪問

至此,我們實現(xiàn)了nginx反向代理8081端口,通過訪問80端口,代理到8081端口的目的
重點理解Ngnix location&proxy_pass字段規(guī)則
實現(xiàn)方式二配置upstream
在http節(jié)點下,加入upstream節(jié)點
upstream demo {
server ip:8080;
server ip:8081;
}
將server節(jié)點下的location節(jié)點中的proxy_pass配置為:http:// + upstream名稱
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反向代理入門實戰(zhàn)的文章就介紹到這了,更多相關(guān)Nginx反向代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx轉(zhuǎn)發(fā)socket端口配置詳解
這篇文章主要介紹了Nginx轉(zhuǎn)發(fā)socket端口配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06
CentOS 7.0下nginx實現(xiàn)每天定時分割日志
大家都知道Nginx產(chǎn)生的日志都是存在一個文件,隨著網(wǎng)站運行時間越長,日志文件的大小也在不斷增長,所以這個時候就需要實現(xiàn)定時分割,這篇文章主要介紹了在CentOS 7.0下nginx實現(xiàn)每天定時分割日志的相關(guān)資料,需要的朋友可以參考下。2017-04-04
nginx安裝圖解_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細介紹了nginx安裝的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站詳解
這篇文章主要為大家介紹了nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
Nginx中實現(xiàn)訪問HTTP請求時自動跳轉(zhuǎn)到HTTPS請求
本文主要介紹了Nginx中實現(xiàn)訪問HTTP請求時自動跳轉(zhuǎn)到HTTPS請求,下面介紹了兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08

