反向代理
反向代理指的是以代理服務器接收用戶的的訪問請求,代理用戶向內部服務器重新發起請求,最后把內部服務器的響應信息返回給用戶。這樣,代理服務器對外就表現為一臺服務器,而訪問內部服務器的客戶端用的就是代理服務器,而不是真實網站訪問用戶。
為什么使用反向代理
可以起到保護網站安全的作用,因為任何來自Internet的請求都必須先經過代理服務器。 通過緩存靜態資源,加速Web請求。 實現負載均衡反向代理例子
環境說明
假如有AB兩個服務器。A服務器提供web資源,并且只給內網訪問。B服務器有兩塊網卡,一塊與A服務器在一個內網,以塊是外網。此時,用戶C想直接訪問A服務器是行不通的。這時就可以通過B服務器代理用戶C的請求去訪問A服務器了。
hostname | 網卡 | IP | 說明 |
---|---|---|---|
moli-04 | ens33 | 192.168.30.6 | 內網IP,代理服務器 |
moli-04 | ens37 | 192.168.93.129 | 外網IP,代理服務器 |
moli-05 | ens33 | 192.168.30.7 | 內網服務器 |
配置虛擬主機
moli-04機器上編輯虛擬主機配置文件,內容如下:
[root@moli-04 extra]$ cat blog.syushin.org.conf server{ listen 80; server_name blog.syushin.org; location / { proxy_pass http://192.168.30.7; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
更改hosts文件
windows上修改hosts文件,添加配置
192.168.93.129 blog.syushin.org
瀏覽器測試
訪問地址是192.168.93.129,出現的界面的05機器的頁面,配置成功。
負載均衡
負載均衡的功能
對用戶的訪問請求進行調度管理 對用戶的訪問請求進行壓力分擔負載均衡集群在運行時,一般是通過一個或者多個前端負載均衡器將客戶訪問請求發到后端的一組服務器上。
Nginx負載均衡
嚴格來說,Nginx僅僅是作為Nginx Proxy反向代理的使用的,但是因為這個反向代理功能表現的效果是負載均衡機器的效果,因此nginx負載均衡是特殊的反向代理。
實現Nginx負載均衡的主要組件:
Nginx模塊 | 說明 |
---|---|
ngx_http_proxy_module | proxy代理模塊,用于把請求發送給服務器節點或upstream服務器池 |
ngx_http_upstream_module | 負載均衡模塊,可以實現網站的負載均衡功能及節點的健康檢查 |
新聞熱點
疑難解答