開放的反向代理軟體也有不少,如nginx、kangle、nat123……
nginx是單純的反向代理,執行效率高,使用人較多,有公司甚至直接拿來營運(當然自己做個界面,說是自主核心技術>-<)。kangle跟nginx類似,但知名度較小。nat123是結合了NAT和反向代理的應用,可以釋出服務,也可以直接當用戶端使用,可以将一個域名的資料分發,如HTML走80端口伺服器,圖檔視訊走加速伺服器。
反向代理的好處
1) 解決了網站伺服器對外可見的問題;
2) 節約了有限的 IP 位址資源,企業内所有的網站共享一個在 internet 中注冊的 IP 位址,這些伺服器配置設定私有位址,采用虛拟主機的方式對外提供服務;
3) 保護了真實的 web 伺服器,web 伺服器對外不可見,外網隻能看到反向代理伺服器,而反向代理伺服器上并沒有真實資料,是以,保證了 web 伺服器的資源安全;
4) 加速了對網站通路速度,減輕 web 伺服器的負擔,反向代理具有緩存網頁的功能,如果使用者需要的内容在緩存中,則可以直接從代理服務其中擷取,減輕了 web 伺服器的負荷,同時也加快了使用者的通路速度。
nginx配置及優化配置檔案
1 nginx.conf 配置檔案:
user www www;
worker_processes 4;
# [ debug | info | notice | warn | error | crit ]
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;
pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
}
http
{
include mime.types;
default_type application/octet-stream;
source_charset GB2312;
server_names_hash_bucket_size 256;
client_header_buffer_size 256k;
large_client_header_buffers 4 256k;
#size limits
client_max_body_size 50m;
client_body_buffer_size 256k;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
#參數都有所調整.目的是解決代理過程中出現的一些502 499錯誤
sendfile on;
tcp_nopush on;
keepalive_timeout 120; #參數加大,以解決做代理時502錯誤
tcp_nodelay on;
include vhosts/upstream.conf;
include vhosts/bbs.linuxtone.conf;
}
2 upstream.conf 配置檔案(這也是做負載的配置方法)
upstream.conf
upstream bbs.linuxtone.com {
server 192.168.1.4:8099;
}
3 站點配置檔案
bbs.linuxtone.conf
server
{
listen 80;
server_name bbs.linuxtone.conf;
charset GB2312;
index index.html index.htm;
root /date/wwwroot/linuxtone/;
location ~ ^/NginxStatus/ {
stub_status on;
access_log off;
}
location / {
root /date/wwwroot/linuxtone/;
proxy_redirect off ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
proxy_pass http://bbs.linuxtone.com;
}
Kangle作反向代理設定的方法
初次安裝kangle時,manage功能已啟用。
預設端口是:3311 ,預設管理帳戶名是:admin ,預設密碼是:kangle
打開浏覽器(ie、firefox或者其它浏覽器),在位址欄裡面輸入: http://ip位址或域名:3311/
如果是本機也可以輸入: http://localhost:3311/
Kangle可進行安全反向代理
當kangle代理伺服器與其他機器之間有一個或多個連接配接使用安全套接字層 (SSL) 協定加密資料時,即會進行安全反向代理。
使用kangle安全反向代理無需擔心因各安全連接配接加密資料所涉及的系統開銷而變慢。Kangle反向代理提供了磁盤和記憶體兩級緩存,連接配接雙方可以重複使用先前協商的安全參數,進而大大降低後續連接配接的系統開銷。
nat123釋出網站、通路内網、網站加速
在任何網絡環境下,網站部署後,安裝并啟用nat123,添加80端口映射即可釋出網站應用。定義其他通路端口,可以外網通路内網所有應用。
如本地有公網IP,可以設定本地加速,讓圖檔等直接讀本地伺服器。