2345技术员联盟

用nginx搭建一個簡單的代理服務器

  • 来源:未知 原创
  • 时间:2018-08-08
  • 阅读:
  • 本文标签:

nginx另一個使用的比較多的情況是作為代理服務器,代理服務器接收請求,然後把請求傳遞到代理服務器,nginx最後會提取代理服務器的回復,並

把這些回復發送給客戶端。

我們將配置一個基本的代理服務器,圖片文件的請求在本地目錄中服務,其他的所有請求發送到代理服務器。這個示例中,兩個服務都被定義在同一

個nginx實例中。


首先,定義用來代理的服務器需要添加一個或者更多個server block到nginx配置文件中,內容如下:

server {

    listen 8080;

    root /data/up1;



    location / {

    }

}


這個服務監聽8080端口(先前的,listen指令沒有指定端口,是因為默認的端口是標註端口80被使用),映射所有的請求到本地文件系統

的/data/up1目錄。創建/data/up1目錄,放進index.html文件。註意:root指令是放在server裏的。這個root指令是在匹配到用來服務請求的

location block中沒有指定自己的root指令時。


接下來,使用先前的配置作為服務配置文件,然後修改它成為一個代理服務器配置。放置proxy_pass指令代表代理協議,proxy_pass的參數代表代理

服務器的名字和端口號(這裏是,http://localhost:8080):


server {

    location / {

        proxy_pass http://localhost:8080;

    }


    location /images/ {

        root /data;

    }

}


我們將修改第二個location block,當前映射的請求使用/images/前綴去比較,然後到/data/images目錄下找文件。為了通過典型的文件後綴進行

圖片請求的匹配,我們這樣修改:

location ~ \.(gif|jpg|png)$ {

    root /data/images;

}




參數是一個正則表達式,匹配所有以.gif, .jpg, 或者 .png結尾的URI。一個正則表達式應該由~開頭。圖片請求就會映射到/data/images目錄下。


當nginx選擇一個location塊去服務一個請求,nginx首先檢測出location指令所指的前綴,並且會記住匹配到的最長前綴的location,然後檢查正

則表達式。如果匹配到了一個正則表達式,nginx就使用這個正則表達式所在的location,否則,使用先前記住的那個最長字串的location。


代理服務器的最終配置結果:

server {

    location / {

        proxy_pass http://localhost:8080/;

    }



    location ~ \.(gif|jpg|png)$ {

        root /data/images;

    }

}




這個服務器將會過濾以.gif, .jpg, or .png 結尾的請求,並映射他們到/data/images目錄下,其他所有請求都傳送到上面配置的代理服務器進行

處理。

關於代理鏈接的更多配置可以查看這裏


相关文章

本文来自电脑技术网www.it892.com),转载本文请注明来源.
本文链接:http://www.it892.com/content/ip/2018/0808/108259.html

无觅相关文章插件,快速提升流量