Nginx 實作 reverse proxy server

Nginx 實作 reverse proxy server

Reverse Proxy server : 

使用 Reverse Proxy Server 可以保護後方 Web Server 被攻擊,同時,還可提供負載平衡、快取以及資料加密的功能

而目前比較常見的實作方式,是透過nginx來架設

1. 安裝Nginx

2. 編輯設定檔 rp.conf

server{
    listen       8888;
    server_name 192.168.88.115:8888;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;

        #後端的Web伺服器,以Nginx官網為例
        proxy_pass http://nginx.com;

        #定義header記錄使用者IP
        proxy_set_header X-Real-IP $remote_addr;

        #讓後端的Web伺服器可以取得使用者真實IP
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        #把 Protocol header 也往後送
        proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
        proxy_max_temp_file_size 0;
    }
}

 3. 設定檔的意思說 : 使用者連線到 192.168.88.115:8888 時,會將網頁轉到Nginx官網去,並且會保留回來使用者的來源IP,而非reverse proxy的IP

4. 假如今天的需求是,希望把 http://192.168.88.115:8888/api,這個網頁導向Nginx官網去,可以在location這段敘述這邊加上

location /api