欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過(guò)nginx實(shí)現(xiàn)方向代理過(guò)程圖解

 更新時(shí)間:2020年02月22日 08:48:01   投稿:yaominghui  
這篇文章主要介紹了通過(guò)nginx實(shí)現(xiàn)方向代理過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了通過(guò)nginx實(shí)現(xiàn)方向代理過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

nginx 實(shí)現(xiàn)方向代理

1.什么是nginx

Nginx是由俄國(guó)人編寫(xiě)的十分輕量級(jí)的HTTP服務(wù)器,是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等

2.什么是代理

代理服務(wù)器,客戶機(jī)在發(fā)送請(qǐng)求時(shí),不會(huì)直接發(fā)送給目的主機(jī),而是先發(fā)送給代理服務(wù)器,代理服務(wù)接受客戶機(jī)請(qǐng)求之后,再向主機(jī)發(fā)出,并接收目的主機(jī)返回的數(shù)據(jù),存放在代理服務(wù)器的硬盤(pán)中,再發(fā)送給客戶機(jī)。

例如:我們身邊的要租房子的人

3.沒(méi)有代理的情景

在沒(méi)有代理的情況下,客戶端和nginx服務(wù)端,都是客戶端,都是客戶端之間請(qǐng)求服務(wù)端,服務(wù)端則直接響應(yīng)客戶端

4.企業(yè)場(chǎng)景在互聯(lián)網(wǎng)請(qǐng)求里面,客戶端往往無(wú)法直接向服務(wù)端發(fā)起請(qǐng)求,那么就需要實(shí)現(xiàn)客戶端和服務(wù)通信。

5.nginx代理服務(wù)常見(jiàn)模式

nginx 作為代理服務(wù),按照應(yīng)用場(chǎng)景進(jìn)行總結(jié),代理分為正向代理,反向代理

6.正向代理

正向代理:客戶端 <一> 代理 一>服務(wù)端:

正向代理簡(jiǎn)單地打個(gè)租房的比方:

A(租客)B(中介)C(房東) A(客戶端)想租C(服務(wù)端)的房子,但是A(客戶端)并不認(rèn)識(shí)C(服務(wù)端)租不到。 B(代理)認(rèn)識(shí)C(服務(wù)端)能租這個(gè)房子所以你找了B(代理)幫忙租到了這個(gè)房子。 ps:這個(gè)過(guò)程中C(服務(wù)端)不認(rèn)識(shí)A(客戶端)只認(rèn)識(shí)B(代理) C(服務(wù)端)并不知道A(客戶端)租了房子,只知道房子租給了B(代理)

---------------------------------------------------

正向代理,架設(shè)在客戶機(jī)與目標(biāo)主機(jī)之間,只用于代理內(nèi)部網(wǎng)絡(luò)對(duì)Internet的連接請(qǐng)求,客戶機(jī)必須指定代理服務(wù)器,并將本來(lái)要直接發(fā)送到Web服務(wù)器上的http請(qǐng)求發(fā)送到代理服務(wù)器中。

7.反向代理

反向代理:客戶端 一>代理 <一> 服務(wù)端 反向代理也用一個(gè)租房的例子: A(客戶端)想租一個(gè)房子,B(代理)就把這個(gè)房子租給了他。 這時(shí)候?qū)嶋H上C(服務(wù)端)才是房東。 B(代理)是中介把這個(gè)房子租給了A(客戶端)。 這個(gè)過(guò)程中A(客戶端)并不知道這個(gè)房子到底誰(shuí)才是房東 他都有可能認(rèn)為這個(gè)房子就是B(代理)的

--------------------------------------------------------

反向代理服務(wù)器架設(shè)在服務(wù)器端,通過(guò)緩沖經(jīng)常被請(qǐng)求的頁(yè)面來(lái)緩解服務(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ù)器。

8.反向代理主要應(yīng)用

現(xiàn)在許多大型web網(wǎng)站都用到反向代理。除了可以防止外網(wǎng)對(duì)內(nèi)網(wǎng)服務(wù)器的惡性攻擊、緩存以減少服務(wù)器的壓力和訪問(wèn)安全控制之外,還可以進(jìn)行負(fù)載均衡,將用戶請(qǐng)求分配給多個(gè)服務(wù)器。

9.nginx 代理可支持的代理協(xié)議

http    屬于七層的應(yīng)用層 代理 超文本傳輸協(xié)議
https    代理 http/https協(xié)議
TCP    屬于四層傳輸層 代理tcp/dupxiey
websocket  用于開(kāi)發(fā) 代理http1.1長(zhǎng)鏈接 通訊協(xié)議
GRPC   代理go語(yǔ)言遠(yuǎn)程調(diào)用
POP/IMAP 代理郵件收發(fā)協(xié)議
RTMP   代理 流媒體,直播

10.web01配置代理

[root@web01 php]# vim /etc/nginx/conf.d/blog.drz.com.conf
server {
  listen 80;
  server_name blog.drz.com;
  root /code/wordpress;
  index index.php index.html;
  access_log /var/log/nginx/blog.drz.com_access.log main;

  location ~\.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

}
代理wordpress
[root@lb01 ~]# vim /etc/nginx/conf.d/daili.conf 編輯wordpress的代理

server {
  listen 80;
  server_name blog.drz.com;

  location / {
    proxy_pass http://10.0.0.7;

     proxy_set_header HOST $http_host;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

     proxy_http_version 1.1;
     proxy_connect_timeout 60s;
     proxy_read_timeout 60s;
     proxy_send_timeout 60s;
     proxy_buffering on;
     proxy_buffer_size 8k;
     proxy_buffers 8 8k;
}

}
root@lb01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@lb01 ~]# nginx -s reload

11.添加發(fā)往后端服務(wù)器的請(qǐng)求頭信息

# 用戶請(qǐng)求的時(shí)候HOST的值是www.oldboy.com, 那么代理服務(wù)會(huì)像后端傳遞請(qǐng)求的還是www.oldboy.com
proxy_set_header Host $http_host;
# 將$remote_addr的值放進(jìn)變量X-Real-IP中,$remote_addr的值為客戶端的ip
proxy_set_header X-Real-IP $remote_addr;
# 客戶端通過(guò)代理服務(wù)訪問(wèn)后端服務(wù), 后端服務(wù)通過(guò)該變量會(huì)記錄真實(shí)客戶端地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

12.代理到后端的TCP連接、響應(yīng)、返回等超時(shí)時(shí)間

//nginx代理與后端服務(wù)器連接超時(shí)時(shí)間(代理連接超時(shí))
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location
 
//nginx代理等待后端服務(wù)器的響應(yīng)時(shí)間
Syntax: proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Context: http, server, location
 
//后端服務(wù)器數(shù)據(jù)回傳給nginx代理超時(shí)時(shí)間
Syntax: proxy_send_timeout time;
Default: proxy_send_timeout 60s;
Context: http, server, location

13.為什么要使用代理

1)提高訪問(wèn)速度 由于目標(biāo)主機(jī)返回的數(shù)據(jù)會(huì)存放在代理服務(wù)器的硬盤(pán)中,因此下一次客戶再訪問(wèn)相同的站點(diǎn)數(shù)據(jù)時(shí),會(huì)直接從代理服務(wù)器的硬盤(pán)中讀取,起到了緩存的作用,尤其對(duì)于熱門(mén)站點(diǎn)能明顯提高請(qǐng)求速度。

2)防火墻作用 由于所有的客戶機(jī)請(qǐng)求都必須通過(guò)代理服務(wù)器訪問(wèn)遠(yuǎn)程站點(diǎn),因此可在代理服務(wù)器上設(shè)限,過(guò)濾某些不安全信息。

3)通過(guò)代理服務(wù)器訪問(wèn)不能訪問(wèn)的目標(biāo)站點(diǎn) 互聯(lián)網(wǎng)上有許多開(kāi)發(fā)的代理服務(wù)器,客戶機(jī)在訪問(wèn)受限時(shí),可通過(guò)不受限的代理服務(wù)器訪問(wèn)目標(biāo)站點(diǎn),通俗說(shuō),我們使用的翻墻瀏覽器就是利用了代理服務(wù)器,雖然不能出國(guó),但也可直接訪問(wèn)外網(wǎng)。

14.總結(jié)

正向代理代理的對(duì)象是客戶端,為客戶端服務(wù)反向代理代理的對(duì)象是服務(wù)端,為服務(wù)端服務(wù)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于nginx沒(méi)有跳轉(zhuǎn)到upstream地址的解決

    關(guān)于nginx沒(méi)有跳轉(zhuǎn)到upstream地址的解決

    這篇文章主要介紹了關(guān)于nginx沒(méi)有跳轉(zhuǎn)到upstream地址的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • ubuntu nginx安裝及服務(wù)配置跨域問(wèn)題處理方式

    ubuntu nginx安裝及服務(wù)配置跨域問(wèn)題處理方式

    這篇文章主要介紹了ubuntu nginx安裝及服務(wù)配置跨域問(wèn)題處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 一文了解nginx HTTP安全響應(yīng)問(wèn)題

    一文了解nginx HTTP安全響應(yīng)問(wèn)題

    一些網(wǎng)站系統(tǒng)會(huì)經(jīng)常遭到各類XSS攻擊、點(diǎn)劫持等,從而造成重要信息的泄露以及服務(wù)器安全問(wèn)題,本文就來(lái)介紹一下,感興趣的可以了解一下
    2023-11-11
  • Nginx 日志改成 JSON 格式的方法

    Nginx 日志改成 JSON 格式的方法

    下面小編就為大家分享一篇Nginx 日志改成 JSON 格式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Nginx進(jìn)程殺不完的解決方法

    Nginx進(jìn)程殺不完的解決方法

    這篇文章主要給大家介紹了Nginx進(jìn)程殺不完的解決方法,文中通過(guò)圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,,需要的朋友可以參考下
    2023-12-12
  • Nginx服務(wù)器中配置GeoIP模塊來(lái)攔截指定國(guó)家IP

    Nginx服務(wù)器中配置GeoIP模塊來(lái)攔截指定國(guó)家IP

    Nginx中自帶GeoIP模塊可以屏蔽指定IP的請(qǐng)求,只不過(guò)默認(rèn)沒(méi)有被編譯,打開(kāi)以后我們只要再下載一個(gè)IP規(guī)則就行,Nginx服務(wù)器中配置GeoIP模塊來(lái)攔截指定國(guó)家IP
    2016-06-06
  • 詳解Nginx如何處理WebSocket連接

    詳解Nginx如何處理WebSocket連接

    在當(dāng)今互聯(lián)網(wǎng)的世界中,實(shí)時(shí)通信變得越來(lái)越重要,WebSocket 作為一種實(shí)現(xiàn)實(shí)時(shí)雙向通信的技術(shù),正被廣泛應(yīng)用于各種場(chǎng)景,而 Nginx 作為一款高性能的 Web 服務(wù)器和反向代理服務(wù)器,在處理 WebSocket 連接方面也有著出色的表現(xiàn),本文介紹了Nginx如何處理WebSocket連接
    2024-07-07
  • 使用Nginx中自帶的模塊配置縮略圖功能的教程

    使用Nginx中自帶的模塊配置縮略圖功能的教程

    Nginx的http_image_filter_module模塊可以用來(lái)處理縮略圖,這里我們就來(lái)看看使用Nginx中自帶的模塊配置縮略圖功能的教程,需要的朋友可以參考下
    2016-06-06
  • nginx https 443端口配置的方法

    nginx https 443端口配置的方法

    本文主要介紹了nginx https 443端口配置的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 為Nginx添加mp4流媒體支持

    為Nginx添加mp4流媒體支持

    這篇文章主要介紹了為Nginx添加mp4流媒體支持的的相關(guān)資料,需要的朋友可以參考下
    2014-12-12

最新評(píng)論