1. 程式人生 > >青蛙學Linux—Nginx實現反向代理

青蛙學Linux—Nginx實現反向代理

反向代理,Reverse Proxy,是指通過代理伺服器來接收來自Internet上的請求,然後將這些請求轉發給內部網路的伺服器,並將內部伺服器返回的結果回傳給Internet上請求的客戶端。此時代理伺服器對外就表現為一個伺服器。當一個代理伺服器能夠代理外部網路上的訪問請求來訪問內部網路時,這種代理服務的方式稱為反向代理服務。

反向代理的工作方式如下圖所示:

1

1、一個簡單的反向代理例項

通過Nginx可以非常簡單的實現反向代理的功能。Nginx通過呼叫proxy_pass模組來實現反向代理。

一個簡單的反向代理例項

當前環境:

  • 主機A:IP地址為192.168.0.110,Nginx版本為1.14.2
  • 主機B:IP地址為192.168.0.106,Nginx版本為1.14.2

我們將主機A設定為代理伺服器,主機B為後端伺服器。

在為配置反向代理時主機A上的Nginx配置(僅展示簡單的server和location配置):

server {
        listen       80;
        server_name  localhost 192.168.0.110;

        charset utf-8;

        location / {
            root /myweb;
            index index.html index.htm;
        }
}