相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說明
- thinkPHP5框架實(shí)現(xiàn)分頁查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
PHP使用Nginx實(shí)現(xiàn)反向代理

一、代理服務(wù)器
1、什么是代理服務(wù)器
代理服務(wù)器,客戶機(jī)在發(fā)送請(qǐng)求時(shí),不會(huì)直接發(fā)送給目的主機(jī),而是先發(fā)送給代理服務(wù)器,代理服務(wù)接受客戶機(jī)請(qǐng)求之后,再向主機(jī)發(fā)出,并接收目的主機(jī)返回的數(shù)據(jù),存放在代理服務(wù)器的硬盤中,再發(fā)送給客戶機(jī)。
2、為什么要使用代理服務(wù)器
1)提高訪問速度
由于目標(biāo)主機(jī)返回的數(shù)據(jù)會(huì)存放在代理服務(wù)器的硬盤中,因此下一次客戶再訪問相同的站點(diǎn)數(shù)據(jù)時(shí),會(huì)直接從代理服務(wù)器的硬盤中讀取,起到了緩存的作用,尤其對(duì)于熱門站點(diǎn)能明顯提高請(qǐng)求速度。
2)防火墻作用
由于所有的客戶機(jī)請(qǐng)求都必須通過代理服務(wù)器訪問遠(yuǎn)程站點(diǎn),因此可在代理服務(wù)器上設(shè)限,過濾某些不安全信息。
3)通過代理服務(wù)器訪問不能訪問的目標(biāo)站點(diǎn)
互聯(lián)網(wǎng)上有許多開發(fā)的代理服務(wù)器,客戶機(jī)在訪問受限時(shí),可通過不受限的代理服務(wù)器訪問目標(biāo)站點(diǎn),通俗說,我們使用的翻墻瀏覽器就是利用了代理服務(wù)器,雖然不能出國,但也可直接訪問外網(wǎng)。
二、反向代理 VS 正向代理
1、什么是正向代理?什么是反向代理?
正向代理,架設(shè)在客戶機(jī)與目標(biāo)主機(jī)之間,只用于代理內(nèi)部網(wǎng)絡(luò)對(duì)Internet的連接請(qǐng)求,客戶機(jī)必須指定代理服務(wù)器,并將本來要直接發(fā)送到Web服務(wù)器上的http請(qǐng)求發(fā)送到代理服務(wù)器中。
反向代理服務(wù)器架設(shè)在服務(wù)器端,通過緩沖經(jīng)常被請(qǐng)求的頁面來緩解服務(wù)器的工作量,將客戶機(jī)請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的目標(biāo)服務(wù)器;并將從服務(wù)器上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器與目標(biāo)主機(jī)一起對(duì)外表現(xiàn)為一個(gè)服務(wù)器。
2、反向代理有哪些主要應(yīng)用?
現(xiàn)在許多大型web網(wǎng)站都用到反向代理。除了可以防止外網(wǎng)對(duì)內(nèi)網(wǎng)服務(wù)器的惡性攻擊、緩存以減少服務(wù)器的壓力和訪問安全控制之外,還可以進(jìn)行負(fù)載均衡,將用戶請(qǐng)求分配給多個(gè)服務(wù)器。
三、方向代理服務(wù)器Nginx
Nginx作為近年來較火的反向代理服務(wù)器,安裝在目的主機(jī)端,主要用于轉(zhuǎn)發(fā)客戶機(jī)請(qǐng)求,后臺(tái)有多個(gè)http服務(wù)器提供服務(wù),nginx的功能就是把請(qǐng)求轉(zhuǎn)發(fā)給后面的服務(wù)器,決定哪臺(tái)目標(biāo)主機(jī)來處理當(dāng)前請(qǐng)求。下面演示如何進(jìn)行配置使Nginx發(fā)揮作用。
1、模擬n個(gè)http服務(wù)器作為目標(biāo)主機(jī)
用作測試,簡單的使用2個(gè)tomcat實(shí)例模擬兩臺(tái)http服務(wù)器,分別將tomcat的端口改為8081和8082
2、配置IP域名
192.168.72.49 8081.max.com
192.168.72.49 8082.max.com
3、配置nginx.conf
upstream tomcatserver1 { server 192.168.72.49:8081; } upstream tomcatserver2 { server 192.168.72.49:8082; } server { listen 80; server_name 8081.max.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver1; index index.html index.htm; } } server { listen 80; server_name 8082.max.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver2; index index.html index.htm; } }