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