nginx搭建反向代理服務器


一、什么是反向代理?反向代理的作用?

  反向代理(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也沒有多久時間,如果有不對的地方還請多多指教,謝謝。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM