使用nginx代理oracle和網站地址跳轉

nginx簡介

對於現有的服務器組來說,經常有 A可以訪問B,B可以訪問C,但是A不能直接訪問C的情況,這個時候我們可以通過B做跳轉。當然其實實現的方式有很多,比如windows下使用netsh,lunix下使用nat,但是這裏介紹一種更加萬金油的方式,在不影響B的任何配置的情況下,通過nginx直接進行相關配置解決問題,本文通過以下幾個方面介紹

  • nginx安裝
  • nginx配置oracle代理
  • nginx配置網站代理並且實現負載均衡

nginx安裝

本文使用了windows環境進行演示,實際Linux環境下操作基本上沒有區別。首先下載nginx,下載地址http://nginx.org/en/download.html
找到自己對應環境的安裝包。
nginx本身是免安裝的,我們將下載下載的內容直接解壓。
解壓後nginx就可以使用了

配置oracle代理

找到解壓目錄中的conf文件夾中的ngInx.conf文件,用文本編輯器打開。增加如下配置

如果要代理oracle或者mysql這種需要用stream

stream {
upstream oracle {
hash $remote_addr consistent;
server xx.xx.xx.xx:1521 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 3000;#公網機器監聽端口
proxy_connect_timeout 1s;
proxy_timeout 36000s;#注意這個,簡單的來說就是連接上以後session的保持時間,就是多長時間不活動下次要重新鏈接,建議設大一點
proxy_pass oracle;
}

}
加在該位置下
這裏寫圖片描述

具體註釋上面已經寫清楚,對於oracle或者mysql這種配置要使用stream的方式,特別注意proxy_timeout這個參數設置

配置網站代理

當然比較常用的就是統一網站門戶,並且進行負載的分發,下面介紹一下對網站的代理方式
#如果要代理網絡跳轉看這裏-這個實際幾行代碼要比這個簡單,但是用這個方式可以配置負載均衡
upstream gsbx.com {
server xx.xx.xx.xx:80 weight=5 max_fails=3 fail_timeout=30s;#跳過來的第一個地址,這裏可以配置多個,負載進行跳轉
#server xxxx 這裏可以接着配置
}
server {
listen 80;
server_name xx.xx.xx.xx;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root html;
            proxy_pass   http://gsbx.com;
            proxy_redirect  default;
            proxy_set_header Host $host:$server_port;  
            proxy_set_header X-Real-IP $remote_addr;  
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_connect_timeout 10;  
            proxy_read_timeout 60;  
            proxy_send_timeout 60;    
        }
}

這裏寫圖片描述

在http節點下面增加上述代碼,這裏注意在upstream 中,下面的server是可以配置多個的,這樣我們不僅實現了IP跳轉的問題,而且還相當於統一了門戶進行了複雜的分發。

具體再資源裏面已經進行了nginx以及對應配置文件的上傳,大家懶得複製代碼的可以通過以下鏈接進行下載。https://download.csdn.net/download/himly_zhang/10631058

最後,配置完成之後,我們通過cd命令,切入nginx目錄,直接敲Nginx就啓動成功了,啓動成功後系統進程中對出現兩個nginx。。如果不想用了。結束進行即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章