背景描述
PROXY(代理协议)是一种 Internet 协议,代理协议激活后,客户端的IP地址会包含在发送到后端服务器的请求的头中,您可以在使用负载均衡时识别客户端的连接信息,但需要接收请求的服务端也支持代理协议,如 nginx、apache 等,否则不能识别包头,导致无法成功建立连接。
前提条件
- 已完成 前置条件准备。
- 已创建两台规格相同的云主机,用于托管Web应用程序。
操作步骤
配置Web应用程序。
在云平台的顶部导航栏中,依次选择[产品与服务]-[计算]-[云主机],进入“云主机”页面。
单击已创建的云主机所在行的VNC图标,访问其控制台并登录云主机。
安装并启动nginx服务器。具体命令如下:
yum install nginx systemctl start nginx
修改nginx透明代理配置文件。具体配置如下:
server { listen 80 default_server proxy_protocol; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { }
}
重启并确认nginx服务器启动成功。具体命令如下:
systemctl restart nginx;systemctl status nginx
依次修改两台云主机的nginx index文件,方便对每台云主机进行标识。
echo "this is nginx-1{对应主机名,方便标识是哪个云主机}"/usr/share/nginx/html/index.html
创建负载均衡器。
在云平台的顶部导航栏中,依次选择[产品与服务]-[网络]-[独享型负载均衡],进入“独享型负载均衡”页面。
单击
创建负载均衡器
,弹出“创建负载均衡器”对话框。“子网”选择云主机所在子网,并配置其他参数后,单击
创建
,完成负载均衡器创建。其中,各参数的具体说明,请参考 创建负载均衡器。
创建监听器和资源池。
在“独享型负载均衡”页面中,单击上述负载均衡器名称,进入其详情页面。在该详情页面的[监听器]页签中,单击
创建监听器
,进入“创建监听器”的“监听器配置”页面。在“监听器配置”页面中,“协议”选择“HTTP”,“协议端口”输入“80”,并配置其他参数后,单击
下一步:资源池配置
,进入“资源池配置”页面。在“资源池配置”页面中,“资源池”选择“新建”,“协议”选择“PROXY”,“负载方式”选择“轮询”。
激活健康检查器,类型选择HTTP,最大尝试次数、检测超时时间、检查间隔时间依次填写2、3、4,单击
创建
,完成监听器和默认资源池的创建。
添加云内资源。
具体配置步骤如下:
在上述负载均衡器详情页面的[资源池]页签中,单击待操作资源池的名称,进入其详情页面。
在“资源列表”区域框中,单击
添加云内资源
,弹出“添加云内资源”对话框。在“添加云内资源”页面中,选择连接资源的子网,选择云内资源后,单击
下一步:资源配置
,进入“资源配置”页面。在“资源配置”页面中,配置端口号80,权重100后,单击
下一步:确认信息
,进入“确认信息”页面。在“确认信息”页面中,确认各资源的配置信息后,单击
添加
,完成操作。