一、什麼是反向代理?反向代理的作用? 反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。 當外部客戶機嘗試訪 ...
一、什麼是反向代理?反向代理的作用?
反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。
當外部客戶機嘗試訪問內容伺服器時,會將其送到代理伺服器。實際內容位於內容伺服器上,在防火牆內部受到安全保護,所以說反向代理伺服器也起到了安全防護作用。此外其還可以緩存靜態內容,當靜態內容發生變化時,通過內部通知機制通知反向代理伺服器緩存失效,需重新載入,反向代理伺服器還可以實現負載均衡。
二、安裝nginx
linux yum或rpm安裝,也可以下載tar.gz包解壓之後make安裝,博主是mac系統,所以直接brew install nginx安裝完成。此外,被代理的是一個應用伺服器,這裡我們用tomcat即可,簡單方便。
三、實現場景
tomcat埠為另一臺機器的8080埠,如下圖所示。
那麼我們要實現的是輸入本機的某個埠號能夠訪問到該tomcat內容,那麼本機的機器就充當了一個代理伺服器的功能。
四、配置
首先我們先進入/usr/local/etc目錄下麵,我們可以看到一個nginx的目錄,這個目錄裡面基本都是nginx的配置文件。
找到nginx.conf文件,vi打開,然後找到http{},在{}裡面加上一句include /usr/local/etc/nginx/reverse-proxy.conf;
這裡的意思是引用另外一個代理服務的配置文件,退出vi,在同目錄下麵新建reverse-proxy.conf文件。
upstream monitor_server { server 172.16.17.112:8080; } server { listen 8900; server_name www.suibianyuming.cn; location / { proxy_redirect off; 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://monitor_server; } #access_log logs/nagios.xxx123.tk_access.log; }
按照上面的配置修改即可,如果有功能變數名稱的可以修改server_name,配置完之後,執行nginx命令啟動之,效果如下。
可以看到,輸入localhost:8900也可以訪問剛剛的112上面的tomcat界面了。
五、總結
nginx在網路服務這一塊應用還是非常多的,這裡僅僅只是一個簡單的埠代理,博主接觸nginx也沒有多久時間,如果有不對的地方還請多多指教,謝謝。