云服务器内容精选

  • 通过Proxy Protocol协议获取客户端源IP 本节以终端节点类型为EIP,后端服务使用Nginx为例,介绍如何开启Proxy Protocol功能,并查看已获取的客户端源IP。 提交工单,开启Proxy Protocol功能。 在后端服务器上开启Proxy Protocol功能。 Nginx的http{}和stream{}模块均可以接收Proxy Protocol,在http{}模块或stream{}模块中添加相应处理Proxy Protocol的端口。 http { #... server { listen 8080 proxy_protocol; #在8080端口,开启解析proxy protocol。 #... } } stream { #... server { listen 8090 proxy_protocol; #在8090端口,开启解析proxy protocol。 #... } } 获取客户端源IP。 开启Proxy Protocol后,Nginx会将客户端源IP保存在变量proxy_protocol_addr中,可以将其保存在日志中。 http { #... log_format main '[$time_local] $proxy_protocol_addr : $proxy_protocol_port $host "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; } stream { #... log_format main '[$time_local] $proxy_protocol_addr : $proxy_protocol_port $host "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; } 查看日志,获取客户端源IP。
  • 约束与限制 代理服务器和后端服务器必须同时支持Proxy Protocol协议才能正常使用。如果后端服务器不具备解析Proxy Protocol协议的能力,直接打开特性开关将导致后端服务解析异常,从而影响服务可用性。 GA仅支持Proxy Protocol v2版本,根据监听协议的不同,全球加速支持的获取客户端源IP情况也不同: UDP:不支持获取客户端源IP。 TCP:根据终端节点类型不同,需要后端服务器做相应适配以获取客户端源IP。 关于适配说明,请参见下表: 终端节点类型 获取客户端源IP 后端服务器适配 说明 E CS 支持 不需要(后端服务收到报文的源IP就是客户端源IP) 默认情况下,GA服务使用TOA协议将客户端源IP传递给后端服务器,客户需要在后端服务器上配置TOA插件才能获取客户端源IP。 详细请参见TOA插件配置 对于开启了Proxy Protocol功能的加速器,GA服务使用 Proxy Protocol协议将客户端源IP传递给后端服务器,客户需要在后端服务器上开启Proxy Protocol功能。 EIP 需要 ELB 自定义IP 自定义 域名 自定义EIP
  • 配置流程 本文以华为云弹性服务器(Elastic Cloud Server)作为FTP服务器。关于华为云弹性云服务器如何配置安全组和公网IP,请参见安全组概述和获取EIP。 步骤 说明 准备工作 在购买全球加速实例、EIP、ECS等资源之前,请先 注册华为账号 并开通华为云、完成实名认证、为账户充值。 步骤一:安装FTP软件并配置FTP服务器 以华为云弹性云服务器Linux操作系统为例,安装并配置vsftpd。 当您使用不同操作系统和vsftpd软件版本时,可能需要根据实际情况调整命令和参数配置。 步骤二:创建全球加速实例 全球加速服务为全球化业务用户提供应用加速服务,使用全球加速服务前,用户必须先创建全球加速实例。 步骤三:配置监听器 创建全球加速实例后,您需要为全球加速实例配置监听器。监听器负责监听连接请求,并根据流量转发策略将请求流量分发至终端节点。 步骤四:配置终端节点组和终端节点 将具有相同特性的终端节点放在一个终端节点组组内,每个终端节点组都与特定的区域关联,全球加速实例进行流量分发时,流量分配策略以终端节点组为单位生效。 步骤五:配置验证 在本场景中,全球加速服务的监听器配置的是TCP协议,可以使用curl命令方式验证配置结果。
  • 步骤一:安装FTP软件并配置FTP服务器 本节介绍在华为云弹性云服务器Linux操作系统安装并配置vsftpd。当您使用不同操作系统和vsftpd软件版本时,可能需要根据实际情况调整命令和参数配置。 远程登录弹性云服务器Linux操作系统。 详细请参见登录Linux ECS。 执行以下命令安装vsftpd。 yum install -y vsftpd 使用本地用户模式进行认证,创建用户。 # 创建linux用户 useradd ftpdemo # 修改用户ftpdemo的密码 passwd ftpdemo # 创建一个供FTP服务使用的文件目录 mkdir /var/ftp/demo # ftpdemo用户拥有此目录 chown -R ftpdemo:ftpdemo /var/ftp/demo 配置vsftpd。 vim /etc/vsftpd/vsftpd.conf 修改配置文件。 # 除下面提及的参数外,其他参数保持默认值即可 # 修改下列参数的值 # 禁止匿名登录FTP服务器 anonymous_enable=NO # 允许本地用户登录FTP服务器 local_enable=YES # 监听IPv4 sockets listen=YES # 关闭监听IPv6 sockets # listen_ipv6=NO # 添加下列参数 # 设置本地用户登录后所在目录 local_root=/var/ftp/demo # 开启被动模式 pasv_enable=YES # 关闭控制和数据连接IP地址的一致性检查,需配置为YES,否则FTP客户端不能上传文件到FTP服务器 pasv_promiscuous=YES # 设置被动模式下,建立数据传输可使用的端口范围的最小值 pasv_min_port=2100 # 设置被动模式下,建立数据传输可使用的端口范围的最大值 pasv_max_port=2120 # 设置被动模式下,使用GA的Anycast IP进行数据传输 pasv_address=GA Anycast IP 在FTP被动模式下,以FileZilla工具为例,客户端开启调试模式后,可以查看到服务器接收到PASV命令后返回的响应信息: 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2) h1,h2,h3,h4:表示服务器的IP地址,采用点分十进制表示法,即h1.h2.h3.h4,该IP地址为pasv_address的配置值。 当服务器配置里未填写pasv_address时,将使用私网IP/主机IP。 p1,p2:用于计算数据传输端口号。 计算公式为:端口号 = p1 * 256 + p2 端口号范围:pasv_min_port 至 pasv_max_port 当端口被占用时,会导致数据传输失败。 按Esc退出编辑模式。 输入“:wq”并回车,保存并关闭文件。 执行以下命令启动vsftpd服务。 # 重启vsftpd服务 systemctl restart vsftpd.service # 查看vsftpd服务的状态 systemctl status vsftpd
  • 步骤二:创建全球加速实例 全球加速服务为全球化业务用户提供应用加速服务,使用全球加速服务前,用户必须先创建全球加速实例。 登录全球加速控制台。 在全球加速服务页面,单击“购买全球加速服务”。 根据界面提示配置相关参数,详细请参见表1。 图1 创建全球实例 表1 创建全球加速实例 参数 示例 说明 名称 ga-test 用户将要创建的全球加速实例的名称。 只能由中文、英文字母、数字、中划线组成。 长度范围:1-64个字符。 企业项目 default 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 您可以使用已有企业项目,也可以新建企业项目。 加速区域 中国大陆 加速区域指需要进行访问加速的区域。 支持选择“中国大陆以外”或“中国大陆”。 默认:中国大陆以外。 本实践选择“中国大陆”。 IP地址类型 IPv4 全球加速实例的地址类型。 “加速区域”选择“中国大陆”时,支持选择“IPv4”或“IPv4+IPv6”。 本实践选择“IPv4”。 标签 example_key1 example_value1 为全球加速实例绑定标签,用来标识资源,支持修改。 描述 test 全球加速实例描述。 长度范围:不超过255个字符。 单击“下一步”,进入监听器配置页面。
  • 步骤三:配置监听器 创建全球加速实例后,您需要为全球加速实例配置监听器。监听器负责监听连接请求,并根据流量转发策略将请求流量分发至终端节点。 根据界面提示配置相关参数,详细请参见表2。 图2 添加监听器 表2 添加监听器 参数 示例 说明 名称 listener-test 监听器名称。 只能由中文、英文字母、数字、中划线组成。 长度范围:1-64个字符。 前端协议 TCP 客户端与监听器建立流量分发连接的协议。 取值范围:TCP、UDP。 前端端口 21,2100-2120 客户端与监听器建立流量分发连接的端口。 端口取值在1-65535之间,端口范围用“-”连接,多个端口或端口范围以逗号隔开。 例如:1-10,11-50,51,52-200 本实践输入“21,2100-2120”。 客户端亲和性 按源IP保持会话 会话保持。 支持选择“关闭”或“按源IP保持会话”。 TCP和UDP协议仅支持“按源IP保持会话”。 按源IP保持会话:基于源IP地址的简单会话保持,将请求的源IP地址作为散列键(HashKey),从静态分配的散列表中找出对应的服务器。即来自同一IP地址的访问请求会被转发到同一台后端服务器上进行处理。 本实践选择“按源IP保持会话”。 标签 - 监听器的标识,包括键和值。可以为监听器创建20个标签。 描述 - 监听器描述。 长度范围:不超过255个字符。
  • 步骤四:配置终端节点组和终端节点 FTP协议在客户端和服务器之间建立了两条通信链路:控制链路和数据链路。控制链路用于传输FTP命令,而数据链路则负责数据的传输。 在服务所在地域(终端节点组所属地域),全球加速实例有多个终端节点出公网IP,但部分FTP服务器配置了连接检查,要求控制链路和数据链路的客户端IP必须相同。这时,您可以选择关闭FTP服务端的源IP检查。 根据界面提示配置相关参数。详细请参见表3。 图3 添加终端节点组 表3 添加终端节点组 类型 参数 示例 说明 终端节点组 名称 endpointgroup-test 终端节点组名称。 每个监听器下每个区域只允许关联一个终端节点组。 只能由中文、英文字母、数字、中划线组成。 长度范围:1-64个字符。 区域 华北-北京四 终端节点组所属区域。 描述 - 终端节点组描述。 长度范围:不超过255个字符。 流量调度 1 配置到不同终端节点组的流量比例。 如果增加流量调度比例,将有更多的请求分发到此终端节点组。 如果将流量调度比例设置为0,则不会将任何请求分发到此终端节点组。 取值范围为:[0-100]。 说明: 如果监听器中有多个终端节点组,分配流量时优先选择时延最低的终端节点组,并按照该终端节点组的流量调度值分配流量,然后再向其他终端节点组分配其余流量。 终端节点 1.92.xx.xx 终端节点充当客户端的接触点,加速实例跨正常运行的终端节点分发传入流量。 本实践选择“自定义IP”,输入FTP服务器的公网IP。 健康检查配置 是否开启 开启 开启或者关闭健康检查。 关闭健康检查可能会导致业务请求转发至异常的后端服务器。 前端协议 TCP 健康检查目前支持选择TCP协议或UDP协议。 默认:TCP协议。 前端端口 21 健康检查端口号。 取值范围:[1,65535]。 高级配置 检查间隔(秒) 5 每次健康检查响应的最大间隔时间。 取值范围:[1-60]。 超时时间(秒) 5 每次健康检查响应的最大超时时间。 取值范围:[1-60]。 最大重复次数 3 健康检查最大的重试次数。 取值范围:[1-10]。 单击“保存”,保存配置信息。 单击“下一步”,确认监听器、终端节点组、终端节点信息。 单击“提交”。 等待页面提示“创建加速器实例xxx成在”后,单击“完成”。
  • 应用场景 FTP(File Transfer Protocol)是一种文件传输协议,基于客户端和服务器架构,支持以下两种工作模式: 主动模式(Active Mode):客户端向FTP服务器发送端口信息,由服务器主动连接该端口。 主动模式的工作流程如下: 工作流程 描述 ①双方建立控制连接 客户端向21端口发送控制连接请求,建立控制连接。 ②同步客户端数据传输端口 客户端向21端口报告可以用于数据传输的端口2100。 ③传输数据 服务端20端口主动连接客户端的2100端口,进行数据传输。 ④关闭连接 数据传输完成后,服务端主动关闭连接。 被动模式(Passive Mode):FTP服务器开启并发送端口信息给客户端,由客户端连接该端口,服务器被动接受连接。 被动模式的工作流程如下: 工作流程 描述 ①双方建立控制连接 客户端向21端口发送控制连接请求,建立控制连接。 ②同步客户端数据传输端口 服务端告知客户端数据传输端口为2120。 ③传输数据 客户端重新开启一个端口连接服务端的数据传输端口2120,并进行数据传输。 ④关闭连接 数据传输完成后,服务端主动关闭连接。 GA目前仅支持FTP的被动模式。 FTP支持以下三种认证模式: 虚拟用户模式(推荐):FTP服务器的专有用户。虚拟用户只能访问Linux系统为其提供的FTP服务,而不能访问Linux系统的其他资源,进一步增强了FTP服务器的安全性。 本地用户模式:通过Linux系统本地账号进行验证的模式,相较于匿名用户模式更安全。 匿名用户模式(存在安全隐患,不推荐):任何人无需密码验证就可以直接登录到FTP服务器。这种模式最不安全,一般只用来保存不重要的公开文件,不推荐在生产环境中使用。
  • 应用场景 华为云中国站的全球加速实例无法直接使用华为云欧洲站的接入点,如果中国站用户业务需要加速欧洲地区访问,需要通过云联盟区域进入华为云欧洲站,然后在欧洲站创建GA实例,后端可以选择中国站区域资源。反过来也是如此,欧洲站用户业务部署在爱尔兰,如果想要加速中国大陆、亚太等地区用户访问,也可以通过云联盟区域跳转到中国站创建全球加速实例。 本文以华为云中国站使用欧洲接入点为例,用户业务部署在华东-上海一区域,需要加速拉美、欧洲、非洲、亚太等地区的多个国家用户访问,则需要创建两个全球加速实例。 图1 场景示例
  • 操作步骤 配置华为云中国站全球加速实例 在华为云中国站购买加速实例,加速地域选择“中国大陆以外”(亚非拉中东地区,不包含欧洲),后端终端节点组所属区域选择华东-上海一。 详细配置流程请参见创建全球加速实例。 配置华为云欧洲站全球加速实例 在控制台首页的区域列表中选择云联盟区域“欧洲-都柏林”。 通过云联盟区域访问华为云欧洲站控制台,在欧洲站购买加速实例,其中加速区域选择“欧洲”,后端终端节点组所属区域选择“华东-上海一”。 图3 购买全球加速实例 图4 配置监听器、终端节点组和终端节点信息 配置DNS智能解析 通过DNS智能解析,线路类型选择“地域解析”,为不同地区的访问用户配置相应的域名解析: 欧洲地区的访问用户解析到华为云欧洲站GA Anycast IP,即步骤2中购买的全球加速实例对应的Anycast IP。 其他海外地区(亚太、拉美、非洲)的访问用户解析到华为云中国站GA Anycast IP,即步骤1中购买的全球加速实例对应的Anycast IP。 中国大陆的用户访问解析到华东-上海一的公网IP地址。 图5 配置DNS智能解析
  • 操作场景 GA可以针对客户访问的业务为访问者提供个性化的管理策略,制定策略之前需要获取来访者的真实IP。TOA内核模块主要用来获取来访者的真实IP,该插件安装在GA真实终端节点的服务器内。 本文档仅适用于四层(TCP协议)服务,用户IP地址类型为IPv4,当用户需要在操作系统中编译TOA内核模块时,可参考本文档进行配置。 Linux内核版本为2.6.32和Linux内核版本为3.0以上的操作系统,在配置TOA内核模块的操作步骤上有所区别,具体操作请参照相应的操作步骤进行配置。
  • 操作场景 GA可以针对客户访问的业务为访问者提供个性化的管理策略,制定策略之前需要获取来访者的真实IP。TOA内核模块主要用来获取来访者的真实IP,该插件安装在GA真实终端节点的服务器内。 本文档仅适用于四层(TCP协议)服务,用户IP地址类型为IPv4,当用户需要在操作系统中编译TOA内核模块时,可参考本文档进行配置。 Linux内核版本为2.6.32和Linux内核版本为3.0以上的操作系统,在配置TOA内核模块的操作步骤上有所区别,具体操作请参照相应的操作步骤进行配置。
  • 维度 Key Value ga_accelerator_id 全球加速实例的ID ga_listener_id 全球加速监听器的ID ga_source_pop 全球加速实例的接入点 ga_source_area 全球加速实例的接入大区 ga_destination_region 全球加速实例的目的区域 ga_destination_area 全球加速实例的目的大区 ga_listener_region 全球加速监听器和目的区域 ga_pop_listener 全球加速接入点和监听器 ga_pop_region 全球加速接入点和目的区域 ga_pop_listener_region 全球加速接入点、监听器和目的区域 ga_source_destination_area 全球加速接入大区和目的大区 ga_outbound_region 全球加速实例的出云区域
  • 监控指标 表1 全球加速支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期 m1_cps 最大连接数 统计测量对象当前处理的最大连接数量。 ≥ 0 Count 不涉及 全球加速实例 全球加速监听器 全球加速实例的接入大区 全球加速实例的目的区域 全球加速实例的接入点 全球加速实例的目的大区 60秒 m2_act_conn 活跃连接数 统计测量对象当前处理的活跃连接数量。 ≥ 0 Count 不涉及 60秒 m3_inact_conn 非活跃连接数 统计测量对象当前处理的非活跃连接数量。 ≥ 0 Count 不涉及 60秒 m4_ncps 新建连接数 统计测量对象当前处理的新建连接数量。 ≥ 0 Count/s 不涉及 60秒 m5_in_pps 流入数据包数 统计当前流入测量对象的数据包。 ≥ 0 Count/s 不涉及 60秒 m6_out_pps 流出数据包数 统计当前流出测量对象的数据包。 ≥ 0 Count/s 不涉及 60秒 m7_in_Bps 网络流入速率 统计每秒流入测量对象的网络流量。 ≥ 0 Byte/s 1024(IEC) 60秒 m8_out_Bps 网络流出速率 统计每秒流出测量对象的网络流量。 ≥ 0 Byte/s 1024(IEC) 60秒 m9_in_bandwidth 入网带宽 统计测量对象当前入网带宽。 ≥ 0 bit/s 1024(IEC) 60秒 ma_out_bandwidth 出网带宽 统计测量对象当前出网带宽。 ≥ 0 bit/s 1024(IEC) 60秒 mb_in_Bytes 入网流量 统计测试对象入云平台的网络流量。 ≥ 0 Byte 1024(IEC) 60秒 mc_out_Bytes 出网流量 统计测试对象出云平台的访问流量。 ≥ 0 Byte 1024(IEC) 60秒
  • 步骤三:配置 虚拟专用网络 购买站点入云VPN网关。 登录站点入云VPN网关控制台。 在页面右上角,单击“创建站点入云VPN网关”。 图4 创建站点入云VPN网关 根据界面提示配置VPN网关参数。 计费模式:包年/包月。 规格:选择“专业型1”或“专业型2”;开启非固定IP接入。 弹性公网IP:关闭“是否使用共享带宽”;主EIP和主EIP2选择“使用已有”,分别设置为已购买的两个EIP。 图5 配置VPN网关参数 单击“立即购买”,确认配置并完成支付。 创建对端网关。 登录对端网关列表页面。 在页面右上角,单击“创建对端网关”。 图6 创建对端网关 根据界面提示配置对端网关参数。 标识选择“FQDN”类型,记录设置的对端网关标识,以便在配置云下路由的IPsec VPN时使用。 图7 配置对端网关参数 创建VPN连接。 登录VPN连接列表页面。 在页面右上角,单击“创建VPN连接”。 图8 创建VPN连接 根据界面提示配置VPN连接参数。 VPN网关:选择步骤1创建的VPN网关。 网关IP:选择VPN网关关联的两个EIP中的任意一个。 对端网关:选择步骤2创建的对端网关。 连接模式:默认“策略模板模式”。 图9 配置VPN连接参数 重复上述步骤,为VPN网关关联的另一个EIP创建VPN连接。