1. 程式人生 > >用Nginx搭建一個具備快取功能的反向代理服務

用Nginx搭建一個具備快取功能的反向代理服務

 反向代理的理解:https://www.cnblogs.com/zkfopen/p/10126105.html

 

我是在一臺linux伺服器上搭建了兩個nginx伺服器A和B,把靜態資原始檔甲放在A伺服器上,B作為反向代理伺服器。

外界訪問靜態資原始檔甲時直接訪問B,B從A上獲取靜態資原始檔甲,然後再返回給外界請求方。

舉例:外界訪問百度時,www.baidu.com 就是我們的反向代理伺服器,反向代理伺服器會幫我們把請求轉發到真實的伺服器那裡去

 

nginx伺服器A的埠是8080

nginx伺服器B的埠是80

 

1.配置A伺服器(存放靜態資源的nginx伺服器)

進入nginx/conf/,輸入:vim nginx.conf,把server欄修改如下:

listen       127.0.0.1:8080;
server_name  localhost;

如下圖所示:

退出後,在nginx/conf下,輸入:

../sbin/nginx -s reload

 重新載入修改後的配置檔案。

此時nginx伺服器A只能由本機上的服務訪問,外界訪問不到nginx伺服器A上的資源。

如下圖所示:

 

2.配置nginx伺服器B(反向代理伺服器)

 同樣進入到nginx/conf下,開啟nginx.conf檔案,修改如下:

upstream local {
        server 127.0.0.1:8080;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_set_header Host $host;
            proxy_set_header X
-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://local;

以上程式碼加入的位置如下圖所示:

退出後,在nginx/conf下,輸入:

../sbin/nginx -s reload

 重新載入修改後的配置檔案。

此時再訪問本伺服器的公網ip地址:114.116.120.230,(預設埠就是80,所以ip後不用加80訪問)如下圖所示:

反向代理成功!