一、概述
反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。【来自百度百科】
nginx:作为反向代理服务的软件,配合哈希算法,具有负载均衡调度的作用。安装在反向代理服务器上。
二、配置
1、nginx配置:
1 upstream epg { 2 3 ip_hash; //IP哈希算法 4 5 server 172.17.128.137:6601; // 6 7 server 172.17.128.138:6601; //配置实际提供HTTP服务的ip+port 8 9 } 10 11 server { 12 13 listen 6600; //配置nginx监听端口,即对外服务端口 14 15 server_name localhost; 16 17 charset utf-8; 18 19 location /epg { 20 21 proxy_next_upstream http_502 http_504 error timeout invalid_header; 22 23 proxy_pass http://epg; 24 25 proxy_set_header Host $host:$server_port; 26 27 proxy_set_header X-Forwarded-For $remote_addr; 28 29 proxy_redirect http://172.17.128.136 http://172.17.128.136:6600; //对外服务的VIP 30 31 } 32 33 access_log /opt/fonsview/3RD/nginx/log/epg.access.log main; 34 35 }
三、keepalived
一般反向代理服务器需要具备灾备能力,即需要安装一台备用的反向代理服务器。keepalived则可用于配置对外服务的VIP。
1、keepalived配置:
1 global_defs { 2 3 router_id CMS_OSS_MYSQL_1 4 5 } 6 7 vrrp_script check_cms { 8 9 script "/etc/keepalived/check_cms.sh" //check_cms.sh用于配置监听某些服务是否正常的脚本,如果监听服务不正常,该脚本则可以将keepalived服务器停止 10 11 interval 5 12 13 weight 20 14 15 } 16 17 vrrp_instance VI_cms { 18 19 state MASTER //主用服务器配置为MASTER,备用服务器配置为BACKUP 20 21 interface bond0 //VIP配置的网口 22 23 virtual_router_id 68 //id值,主备要一直,并且在内网内不能冲突 24 25 priority 100 //权重,主用权重要比备用权重高 26 27 # nopreempt 28 29 advert_int 1 30 31 authentication { 32 33 auth_type PASS 34 35 auth_pass 1111 36 37 } 38 39 track_script { 40 41 check_cms 42 43 } 44 45 virtual_ipaddress { 46 47 172.17.128.133 //配置对外服务的VIP 48 49 } 50 51 }