nginx反向代理linux
㈠ Nginx反向代理的使用及原理
正向代理,用通俗的方式來說,就是代理伺服器只起到轉發的作用,例如,在顧客進商店購買東西,商店就是一個正向代理,起到的作用就是把商品從廠家代理售賣到顧客手中。
反向代理,就是顧客的請求是確定的,但將商品的需求信息發送給代理商之後,代理商通過各種方式尋找不同的供貨商,再把供貨商提供的商品轉交給顧客。顧客是不知道代理商背後的供貨商是誰的。這種方式有點類似於目前的「三隻松鼠」等網路直銷平台的邏輯,顧客發送芒果乾的請求給三隻松鼠,三隻松鼠從全國進行供貨商的選擇,拿到貨品後再打上三隻松鼠的logo轉交給顧客,實現反向的代理,代理的是供貨商,顧客不知道具體的供應商是誰(所以才會要求包裝上需要印上供應商的名稱和地址,要不然出問題都不知道找誰。)
Nginx的安裝網路有很多資源,包括linux和Windows的,在此不表。主要關注一下如何進行配置,來看看 nginx.conf.default 中的配置信息:
可以看到,主要的幾個配置模塊:
下面主要講講經常使用的server以及location的配置。
gzip壓縮中
對於阿里雲上的配置,我們直接使用一級域名 abc.com 解析阿里雲伺服器的IP地址:
㈡ 如何用nginx實現反向代理
反向代理的原理是使用者不知道真實訪問的是哪個主機 可以在配置文件配置 upstream、 proxy_pass 來實現
upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup;} server { location / { proxy_pass http://backend; }}
具體可以看看《linux就該這么學》