摘要:什么是正向代理呢正向代理中,客戶端通過代理服務器從服務端收發數據,即為正向代理。反向代理又是什么反向代理中,代理服務器替服務端收發數據,所有的請求與相應都經過反向代理,可以用來實現數據緩存,負載均衡等。
什么是代理
在計算機中,客戶端A與服務端B進行通信,中間加入中介C進行數據傳遞,則形成了代理。來個淺顯易懂的比喻,三年級二班小明和小花談戀愛,由于小明和小花座位離的太遠,這時候需要小王在中間傳遞紙條,在這個愛情故事中小王在中間充當了代理作用。
什么是正向代理呢正向代理中,客戶端通過代理服務器從服務端收發數據,即為正向代理。
舉個栗子:有一個局域網,但是只有主機局域訪問外部網絡的權限,現在所有的機器都需要訪問外部網絡,通過將主機設置為代理服務器,讓所有的機器通過主機可以訪問外部網絡,即稱為正向代理。
反向代理中,代理服務器替服務端收發數據,所有的請求與相應都經過反向代理,可以用來實現數據緩存,負載均衡等。
舉個栗子: 張三開了一個保險公司(服務端),一開始公司業務小,一個人接電話就夠了,后來隨著公司擴張,每天無數電話打進來,張三招了一個客服李四(代理),張三把和客戶對接的事情都交給了李四,形成了反向代理。
server { listen 80; server_name localhost; #實際情況可以寫域名 location / { index index.html index.htm; proxy_set_header Host $host:$server_port; proxy_pass http://127.0.0.1:9992; rewrite ^/(.*) /index.php?s=$1; } }
配置項很多,挑幾個幾個常用的配置依次介紹:location、proxy_set_header、rewrite、proxy_pass
代理目錄匹配 location# 匹配所有根目錄 location / # 字符串匹配, 表示匹配所有“/static”開頭的目錄 location /static # ~ 匹配符合表達式目錄比如代理目錄中存在“static/(js|images)”的目錄 location ~ /static/(js|images)/ # ~* 加上 * 表示不區分大小寫 location ~ /static/(js|images)/ # = 表示精確匹配, 只有"/index"路徑才會被代理,"/index/test"將不會被代理 location = /index
當然還有”!“、”^“匹配,用的比較少,這里不做說明
設置代理請求頭 proxy_set_header# 設置代理請求服務器請求頭host proxy_set_header Host $host # 設置代理請求的ip地址 proxy_set_header X-Forwarded-Ip $remote_addr # 設置代理請求自定義數據 proxy_set_header test test
這里還有很多數據,不一一說明
請求代理服務器 proxy_pass# 從 “127.0.0.1”這臺服務器收發數據,當然也可以直接寫域名 proxy_pass http://127.0.0.1:8080 # 從服務端機器data目錄收發數據 proxy_pass http://127.0.0.1:81/data; # 動態配置數據,$scheme表示用戶請求是http還是https,$host表示客戶端請求頭host,$args表示客戶端請求參數 proxy_pass $scheme://$host/$request_uri/?$argsurl重定向規則 rewrite
包含3個參數:
rewrite 匹配規則 重定向規則 重定向類型;
用法示例:
# /a.html 的時候,url重定向路徑 /b.html 中 rewrite /a.html /b.html last; # break 與 last的區別是,當存在多條rewrite規則時last會繼續往下匹配,break不會繼續往下匹配,而是將匹配到的重定向路徑當做最終路徑 rewrite /a.html /b.html break; # 當然重定向規則也是可以寫正則表達式的 例如:/static/images/a.png => /local/images/a.png rewrite ^/static/images/(.*)$ /local/images/$1 break; # redirect 表示302重定向 rewrite /a.html /b.html redirect; # permanent 表示301重定向 rewrite /a.html /b.html permanent;
301重定向表示永久性重定向,對于SEO相較302來說比較友好,這里不做過多說明。
部分參考nginx doc
nginx rewrite 配置
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39890.html
摘要:反向代理負載均衡虛擬主機配置通過本章你將學會利用配置多臺虛擬主機,清楚代理服務器的作用,區分正向代理和反向代理的區別,搭建使用反向搭理和負載均衡,了解常用配置的說明。最重要的是反向代理,負載均衡。 Nginx 反向代理 負載均衡 虛擬主機配置 通過本章你將學會利用Nginx配置多臺虛擬主機,清楚代理服務器的作用,區分正向代理和反向代理的區別,搭建使用Nginx反向搭理和負載均衡,了解N...
摘要:負載均衡是通過后端引入一個負載均衡器和至少一個額外的服務器來緩解這類問題增加的服務器和原本的服務器提供相同的內容。負載均衡不需要前端進行配置,主要是服務端進行配置,前端稍作了解即可。 Nginx主要功能 負載均衡 反向代理 動靜分離 配置https 負載均衡 負載均衡是一門計算機網絡技術,主要用來優化資源使用、最大化吞吐率、最小化響應時間、同時避免過載的目的。如果一個網站只有一臺服...
摘要:簡單而言就是當有臺或以上服務器時,根據規則隨機的將請求分發到指定的服務器上處理,負載均衡配置一般都需要同時配置反向代理,通過反向代理跳轉到負載均衡。而目前支持自帶種負載均衡策略,還有種常用的第三方策略。客戶端才能使用正向代理。 Nginx能做什么 反向代理 負載均衡 HTTP服務器(包含動靜分離) 正向代理以上就是我了解到的Nginx在不依賴第三方模塊能處理的事情,下面詳細說明每種功...
摘要:目前最常用的軟件反向代理服務器有和。基于實現動態代理為了實現動態代理方案,需要在反向代理服務器中增加定制的功能。同時,由于反向代理服務器需要處理大量的代理請求,因此會頻繁的讀取反向代理配置數據。 基于 Nginx 的動態代理 作者:趙波日期:2016 年 8 月 4 日 在實際應用中,遇到了這樣一個場景: 已有一個手機 APP 客戶端,需要在該 APP 客戶端中實現通過 Web 的形式...
閱讀 1800·2021-11-22 09:34
閱讀 3083·2019-08-30 15:55
閱讀 663·2019-08-30 15:53
閱讀 2053·2019-08-30 15:52
閱讀 3000·2019-08-29 18:32
閱讀 1989·2019-08-29 17:15
閱讀 2391·2019-08-29 13:14
閱讀 3557·2019-08-28 18:05