中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP中利用Nginx實現一個反向代理功能

發布時間:2021-01-30 16:34:21 來源:億速云 閱讀:435 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關如何在PHP中利用Nginx實現一個反向代理功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、代理服務器

1、什么是代理服務器

代理服務器,客戶機在發送請求時,不會直接發送給目的主機,而是先發送給代理服務器,代理服務接受客戶機請求之后,再向主機發出,并接收目的主機返回的數據,存放在代理服務器的硬盤中,再發送給客戶機。

如何在PHP中利用Nginx實現一個反向代理功能

2、為什么要使用代理服務器

1)提高訪問速度

    由于目標主機返回的數據會存放在代理服務器的硬盤中,因此下一次客戶再訪問相同的站點數據時,會直接從代理服務器的硬盤中讀取,起到了緩存的作用,尤其對于熱門站點能明顯提高請求速度。

2)防火墻作用

    由于所有的客戶機請求都必須通過代理服務器訪問遠程站點,因此可在代理服務器上設限,過濾某些不安全信息。

3)通過代理服務器訪問不能訪問的目標站點

    互聯網上有許多開發的代理服務器,客戶機在訪問受限時,可通過不受限的代理服務器訪問目標站點,通俗說,我們使用的翻墻瀏覽器就是利用了代理服務器,雖然不能出國,但也可直接訪問外網。

二、反向代理 VS 正向代理

1、什么是正向代理?什么是反向代理?

正向代理,架設在客戶機與目標主機之間,只用于代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,并將本來要直接發送到Web服務器上的http請求發送到代理服務器中。

如何在PHP中利用Nginx實現一個反向代理功能

反向代理服務器架設在服務器端,通過緩沖經常被請求的頁面來緩解服務器的工作量,將客戶機請求轉發給內部網絡上的目標服務器;并將從服務器上得到的結果返回給Internet上請求連接的客戶端,此時代理服務器與目標主機一起對外表現為一個服務器。

如何在PHP中利用Nginx實現一個反向代理功能

2、反向代理有哪些主要應用?

現在許多大型web網站都用到反向代理。除了可以防止外網對內網服務器的惡性攻擊、緩存以減少服務器的壓力和訪問安全控制之外,還可以進行負載均衡,將用戶請求分配給多個服務器。

三、方向代理服務器Nginx

Nginx作為近年來較火的反向代理服務器,安裝在目的主機端,主要用于轉發客戶機請求,后臺有多個http服務器提供服務,nginx的功能就是把請求轉發給后面的服務器,決定哪臺目標主機來處理當前請求。下面演示如何進行配置使Nginx發揮作用。

1、模擬n個http服務器作為目標主機

用作測試,簡單的使用2個tomcat實例模擬兩臺http服務器,分別將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;     

  }       

 }

流程:

1)瀏覽器訪問8081.max.com,通過本地host文件域名解析,找到192.168.72.49服務器(安裝nginx)

2)nginx反向代理接受客戶機請求,找到server_name為8081.max.com的server節點,根據proxy_pass對應的http路徑,將請求轉發到upstream tomcatserver1上,即端口號為8081的tomcat服務器。

四、總結

     通過分析我們不難得出,以百度為例,如果客戶機的IP和百度服務器(目標主機)的IP在同一個網段,那就形同局域網內部發送請求,速度極快。

     但如果滿足不了這種需求還想到達到一個較好的請求響應時,百度服務器就可以對外提供一個與目標服務器在一個網段的公網IP,也就是反向代理服務的IP,通過代理服務器轉發客戶機請求,決定幕后的N臺服務器誰來處理這個請求,并且由于反向代理服務器與目標主機在一個網段,訪問速度也會很快。

     Nginx用作反向代理服務器時,它就是眾多反向代理服務器中的一種,通過簡單的配置,指定到服務器IP或域名地址便可將客戶機請求轉發給指定服務器處理請求。

上述就是小編為大家分享的如何在PHP中利用Nginx實現一個反向代理功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽中县| 道孚县| 澄江县| 仲巴县| 和平县| 赤峰市| 南部县| 常州市| 绵阳市| 搜索| 磐安县| 都兰县| 长垣县| 文山县| 北京市| 大城县| 萍乡市| 鹰潭市| 钟祥市| 保康县| 星子县| 奉化市| 太原市| 新晃| 德令哈市| 阿坝县| 盐城市| 青海省| 梅州市| 章丘市| 鄯善县| 祁东县| 崇明县| 曲靖市| 丰县| 勐海县| 临安市| 伊宁市| 南京市| 衡阳县| 镇巴县|