1.正向代理:nginx
正向代理相似一個跳板機,代理訪問外部資源。vim
典型應用:爲在防火牆內的局域網客戶端提供訪問Internet的途徑 如:IE例外設置代理服務器後端
正向代理配置實例:爲不影響默認配置:添加一個虛擬主機:瀏覽器
include vhosts/*.conf;服務器
vi proxy.conf網絡
server{
resolver 8.8.8.8;
resolver_timeout 30s;
listen 8090;
server_name proxy.qinyj.top;
location / {
proxy_pass http://$http_host$request_uri;
proxy_set_header Host $http_host;
proxy_buffers 256 4k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
}
}負載均衡
2.反向代理:網站
反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器,並將從服務器上獲得的結果返回給internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個服務器。典型用途是將 防火牆後面的服務器提供給Internet用戶訪問spa
nginx支持配置反向代理,經過反向代理實現網站的負載均衡。這部分先寫一個nginx的配置,後續再深刻研究nginx的代理模塊和負載均衡模塊。代理
nginx經過proxy_pass 配置代理站點,upstream模塊實現http負載均衡。
server {
........
upstream qinyujie { #定義負載均衡站點名稱
server 192.168.0.161:80;
server 192.168.0.162:80; #後端真實ip通常指內網
}
location / {
proxy_pass http://qinyujie; #配置代理站點或後端真實ip
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;
}
}
3.反向代理用作內網域名轉發
編輯反向代理服務器配置文件:
vim /usr/local/nginx/conf/reverse-proxy.conf