Loading
close

构建HTTP透明代理生效场景

time 更新时间:2023-03-14 10:50:14

背景描述

PROXY(代理协议)是一种 Internet 协议,代理协议激活后,客户端的IP地址会包含在发送到后端服务器的请求的头中,您可以在使用负载均衡时识别客户端的连接信息,但需要接收请求的服务端也支持代理协议,如 nginx、apache 等,否则不能识别包头,导致无法成功建立连接。

前提条件

  • 已完成 前置条件准备
  • 已创建两台规格相同的云主机,用于托管Web应用程序。

操作步骤

  1. 配置Web应用程序。

    1. 在云平台的顶部导航栏中,依次选择[产品与服务]-[计算]-[云主机],进入“云主机”页面。

    2. 单击已创建的云主机所在行的VNC图标,访问其控制台并登录云主机。

    3. 安装并启动nginx服务器。具体命令如下:

      yum install nginx
      systemctl start nginx
      
    4. 修改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 {
        }
      

      }

    5. 重启并确认nginx服务器启动成功。具体命令如下:

      systemctl restart nginx;systemctl status nginx
      
    6. 依次修改两台云主机的nginx index文件,方便对每台云主机进行标识。

      echo "this is nginx-1{对应主机名,方便标识是哪个云主机}"/usr/share/nginx/html/index.html
      
  2. 创建负载均衡器。

    1. 在云平台的顶部导航栏中,依次选择[产品与服务]-[网络]-[独享型负载均衡],进入“独享型负载均衡”页面。

    2. ​单击 创建负载均衡器 ,弹出“创建负载均衡器”对话框。

    3. “子网”选择云主机所在子网,并配置其他参数后,单击 创建 ,完成负载均衡器创建。其中,各参数的具体说明,请参考 创建负载均衡器

      ../images/dlb_bp_image_13.png

  3. 创建监听器和资源池。

    1. 在“独享型负载均衡”页面中,单击上述负载均衡器名称,进入其详情页面。在该详情页面的[监听器]页签中,单击 创建监听器 ,进入“创建监听器”的“监听器配置”页面。

    2. 在“监听器配置”页面中,“协议”选择“HTTP”,“协议端口”输入“80”,并配置其他参数后,单击 下一步:资源池配置 ,进入“资源池配置”页面。

    3. 在“资源池配置”页面中,“资源池”选择“新建”,“协议”选择“PROXY”,“负载方式”选择“轮询”。

    4. 激活健康检查器,类型选择HTTP,最大尝试次数、检测超时时间、检查间隔时间依次填写2、3、4,单击 创建 ,完成监听器和默认资源池的创建。

  1. 添加云内资源。

    具体配置步骤如下:

    1. 在上述负载均衡器详情页面的[资源池]页签中,单击待操作资源池的名称,进入其详情页面。

    2. 在“资源列表”区域框中,单击 添加云内资源 ,弹出“添加云内资源”对话框。

    3. 在“添加云内资源”页面中,选择连接资源的子网,选择云内资源后,单击 下一步:资源配置 ,进入“资源配置”页面。

    4. 在“资源配置”页面中,配置端口号80,权重100后,单击 下一步:确认信息 ,进入“确认信息”页面。

    5. 在“确认信息”页面中,确认各资源的配置信息后,单击 添加 ,完成操作。

结果验证

  1. 登录另一台跟DLB同子网的云主机(192.168.10.22),多次执行以下命令

    curl vip:80(本例中vip为192.168.10.210)
    ../images/dlb_bp_image_12.png

  2. 登录添加的云内资源,查看其access.log日志:

    ../images/dlb_bp_image_11.png

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品