柚子快報(bào)激活碼778899分享:對于Nginx的反向代理的理解
柚子快報(bào)激活碼778899分享:對于Nginx的反向代理的理解
? ? ? ? 對于Nginx的反向代理,我的理解是,nginx把前端發(fā)送的動態(tài)請求由Nginx轉(zhuǎn)發(fā)到后端的服務(wù)器。但是它可以暫時(shí)存儲一些數(shù)據(jù),從而提高訪問速度,并且可以進(jìn)行負(fù)載均衡,還變相的保護(hù)了后端服務(wù)器的地址安全。
nginx 反向代理的配置方式:
server{
listen 80;
server_name localhost;
location /api/{
proxy_pass http://localhost:8080/admin/; #反向代理
}
}
proxy_pass:該指令是用來設(shè)置代理服務(wù)器的地址,可以是主機(jī)名稱,IP地址加端口號等形式。
如上代碼的含義是:監(jiān)聽80端口號, 然后當(dāng)我們訪問 http://localhost:80/api/../..這樣的接口的時(shí)候,它會通過 location /api/ {} 這樣的反向代理到 http://localhost:8080/admin/上來。
當(dāng)在訪問http://localhost/api/employee/login,nginx接收到請求后轉(zhuǎn)到http://localhost:8080/admin/,故最終的請求地址為http://localhost:8080/admin/employee/login,和后臺服務(wù)的訪問地址一致。
2). nginx 負(fù)載均衡
????????當(dāng)如果服務(wù)以集群的方式進(jìn)行部署時(shí),那nginx在轉(zhuǎn)發(fā)請求到服務(wù)器時(shí)就需要做相應(yīng)的負(fù)載均衡。其實(shí),負(fù)載均衡從本質(zhì)上來說也是基于反向代理來實(shí)現(xiàn)的,最終都是轉(zhuǎn)發(fā)請求(簡單來說就是分發(fā)糖果類似,有很多個(gè)小朋友(相當(dāng)于服務(wù)器),你手里很多糖果(相當(dāng)于請求),而你(相當(dāng)于Nginx)需要把糖果分給小朋友,至于怎么分,那就看你想怎么分)。
nginx 負(fù)載均衡的配置方式:
upstream webservers{
server 192.168.100.128:8080;
server 192.168.100.129:8080;
}
server{
listen 80;
server_name localhost;
location /api/{
proxy_pass http://webservers/admin;#負(fù)載均衡
}
}
upstream:如果代理服務(wù)器是一組服務(wù)器的話,我們可以使用upstream指令配置后端服務(wù)器組。
如上代碼的含義是:監(jiān)聽80端口號, 然后當(dāng)我們訪問 http://localhost:80/api/../..這樣的接口的時(shí)候,它會通過 location /api/ {} 這樣的反向代理到 http://webservers/admin,根據(jù)webservers名稱找到一組服務(wù)器,根據(jù)設(shè)置的負(fù)載均衡策略(默認(rèn)是輪詢)轉(zhuǎn)發(fā)到具體的服務(wù)器。
注:upstream后面的名稱可自定義,但要上下保持一致。
nginx 負(fù)載均衡策略:
名稱說明輪詢默認(rèn)方式weight權(quán)重方式,默認(rèn)為1,權(quán)重越高,被分配的客戶端請求就越多ip_hash依據(jù)ip分配方式,這樣每個(gè)訪客可以固定訪問一個(gè)后端服務(wù)least_conn依據(jù)最少連接方式,把請求優(yōu)先分配給連接數(shù)少的后端服務(wù)url_hash依據(jù)url分配方式,這樣相同的url會被分配到同一個(gè)后端服務(wù)fair依據(jù)響應(yīng)時(shí)間方式,響應(yīng)時(shí)間短的服務(wù)將會被優(yōu)先分配
具體配置方式:
輪詢:
upstream webservers{
? ?server 192.168.100.128:8080;
? ?server 192.168.100.129:8080;
}
weight:
upstream webservers{
? ?server 192.168.100.128:8080 weight=90;
? ?server 192.168.100.129:8080 weight=10;
}
ip_hash:
upstream webservers{
? ?ip_hash;
? ?server 192.168.100.128:8080;
? ?server 192.168.100.129:8080;
}
least_conn:
upstream webservers{
? least_conn;
? ?server 192.168.100.128:8080;
? ?server 192.168.100.129:8080;
}
url_hash:
upstream webservers{
? ?hash &request_uri;
? ?server 192.168.100.128:8080;
? ?server 192.168.100.129:8080;
}
fair:
upstream webservers{
? ?server 192.168.100.128:8080;
? ?server 192.168.100.129:8080;
? fair;
}
柚子快報(bào)激活碼778899分享:對于Nginx的反向代理的理解
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。