云服务器内容精选
-
使用Jedis连接池报错如何处理? 在使用Jedis连接池JedisPool模式下,比较常见的报错如下: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 首先确认DCS缓存实例是正常运行中状态,然后按以下步骤进行排查。 网络 核对IP地址配置 检查jedis客户端配置的IP地址是否与DCS缓存实例的连接地址或IP地址一致,如果是通过公网访问,则检查是否与DCS缓存实例绑定的弹性IP地址一致,不一致则修改一致后重试。 测试网络 在客户端使用ping和Telnet小工具测试网络。 如果ping不通: VPC内访问时,要求客户端与DCS缓存实例的VPC相同,并且正确配置安全组或白名单。 公网SSL方式访问时,要求DCS缓存实例安全组放开了36379端口访问。 公网直接访问(非SSL方式)时,要求DCS缓存实例安全组放开了6379端口访问。 如果IP地址可以ping通,telnet对应的端口不通,则尝试重启实例,如重启后仍未恢复,请联系技术支持。 检查连接数是否超限 查看已建立的网络连接数是否超过JedisPool配置的上限。如果连接数接近配置的上限值,则建议重启服务观察。如果明显没有接近,排除连接数超限可能。 Unix/Linux系统使用: netstat -an | grep 6379 | grep ESTABLISHED | wc -l Windows系统使用: netstat -an | find "6379" | find "ESTABLISHED" /C 检查JedisPool连接池代码 如果连接数接近配置的上限,请分析是业务并发原因,或是没有正确使用JedisPool所致。 对于JedisPool连接池的操作,每次调用jedisPool.getResource()方法之后,需要调用jedisPool.returnResource()或者jedis.close()进行释放,优先使用close()方法。 客户端TIME_WAIT是否过多 通过ss -s查看time wait链接是否过多。 如果TIME_WAIT过多,可以调整内核参数(/etc/sysctl.conf): ##当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击 net.ipv4.tcp_syncookies = 1 ##允许将TIME-WAIT sockets重新用于新的TCP连接 net.ipv4.tcp_tw_reuse = 1 ##开启TCP连接中TIME-WAIT sockets的快速回收 net.ipv4.tcp_tw_recycle = 1 ##修改系统默认的TIMEOUT时间 net.ipv4.tcp_fin_timeout = 30 调整后重启生效:/sbin/sysctl -p 无法解决问题 如果按照以上原因排查之后还有问题,可以通过抓包并将异常时间点、异常信息以及抓包文件发送给技术支持协助分析。 抓包可使用tcpdump工具,命令如下: tcpdump -i eth0 tcp and port 6379 -n -nn -s 74 -w dump.pcap Windows系统下还可以安装Wireshark工具抓包。 公网访问时请将端口改成36379。 网卡名请改成实际的网卡名称。 父主题: 客户端和网络连接
-
解决方案 如果想要定期刷新域名DNS解析,不用重启Nginx服务器,可以通过在Nginx上配置Resolver实现。 示例一: Nginx服务器原“nginx.conf”配置: location /prod-url-test/ { ... proxy_pass http://$proxy_url; } 添加resolver后的配置:*.*.*.*为设备网络使用的公共DNS或本地DNS,可根据业务情况配置两个DNS,valid为解析结果有效期。 location /prod-url-test/ { resolver *.*.*.* *.*.*.* valid=300s; resolver_timeout 10s; set $proxy_url "prod-url-test.example.com"; proxy_pass http://$proxy_url; } 示例二: Nginx服务器原“nginx.conf”配置: location = /test/example1.txt{ expires 30s; rewrite ^/test/example2.txt break; proxy_pass https://test.example.com; } 添加resolver配置:*.*.*.*为设备网络使用的公共DNS或本地DNS,可根据业务情况配置两个DNS,valid为解析结果有效期。 set $var_host "test.example.com"; resolver *.*.*.* *.*.*.* valid=300s; resolver_timeout 10s; location = /test/example1.txt{ expires 30s; rewrite ^/test/example2.txtbreak; proxy_pass https://$var_host; proxy_set_header Host test.example.com; }
-
数据准备 准备项 说明 示例 网站域名 游戏网站域名。如果您的服务范围是“中国大陆”或者“全球”,根据中国《互联网管理条例》的要求,此域名必须在工信部备案并在有效期内才可以使用CDN加速。 download.game-apk1.com OBS桶 版本号为3.0以上的OBS存储桶。 桶策略为公共读,未开通静态网站托管。 支持CDN加速的区域:华北-北京一、华北-北京四、华东-上海一、华南-广州、华南-广州-友好用户环境、西南-贵阳一。 obs-doc-test01
-
适用场景 如果您的加速域名遭受攻击,想要加固安全防护配置,比如配置防盗链、IP黑白名单等,您可以通过分析攻击时段对应的日志实现。 CDN日志包含了终端用户访问的信息,日志内容示例如下: [05/Feb/2018:07:54:52 +0800] x.x.x.x 1 "-" "HTTP/1.1" "GET" "www.test.com" "/test/1234.apk" 206 720 HIT "Mozilla/5.0 (Linux; U; Android 6.0; zh-cn; EVA-AL10 Build/HUAWEIEVA-AL10) AppleWebKit/533.1 (KHTML,like Gecko) Mobile Safari/533.1" "bytes=-256" 各字段从左到右含义如表1所示。 表1 CDN日志字段说明 序号 字段含义 字段示例 1 日志生成时间 [05/Feb/2018:07:54:52 +0800] 2 访问IP地址 x.x.x.x 3 响应时间(单位ms) 1 4 Referer信息 - 5 HTTP协议标识 HTTP/1.1 6 HTTP请求方式 GET 7 CDN加速域名 www.test.com 8 请求路径 /test/1234.apk 9 HTTP状态码 206 10 返回字节数大小 720 11 缓存命中状态 HIT 12 User-Agent信息,其作用是让服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本信息等。 Mozilla/5.0 (Linux; U; Android 6.0; zh-cn; EVA-AL10 Build/HUAWEIEVA-AL10) AppleWebKit/533.1 (KHTML,like Gecko) Mobile Safari/533.1 13 Range信息,其作用是在HTTP请求头中指定返回数据的范围,即第一个字节的位置和最后一个字节的位置。 bytes参数值表示方法一般分为如下三类: bytes=x-y:表示请求第x个字节到第y个字节的数据内容。 bytes=-y:表示请求最后y个字节的数据内容。 bytes=x-:表示请求第x字节到最后一个字节的数据内容。 bytes=-256
-
修订记录 发布日期 修订记录 2024-06-13 第二十次正式发布。 本次更新说明如下: 新增“使用函数工作流服务实现定时刷新缓存功能”章节。 下线“推送CDN日志到云日志服务(LTS)”章节。 2024-03-20 第十九次正式发布。 本次更新说明如下: 新增“客户端访问加速域名经过Nginx转发时,如何定期刷新DNS解析”章节。 2023-12-07 第十九次正式发布。 本次更新说明如下: 更新“自定义OBS私有桶策略配置”章节。 2023-10-18 第十八次正式发布。 本次更新说明如下: 完善推送CDN日志到云日志服务(LTS)的配置流程指引。 2023-06-30 第十七次正式发布。 本次更新说明如下: 增加“源站是OBS桶时如何配置自定义首页内容”。 增加“通过日志分析恶意访问地址”。 2023-04-27 第十六次正式发布。 本次更新说明如下: 增加“推送CDN日志到云日志(LTS)服务”。 2022-02-23 第十五次正式发布。 本次更新说明如下: 从OBS控制台为桶绑定CDN加速域名后,支持自动刷新功能。 2022-09-06 第十四次正式发布。 本次更新说明如下: 增加“CDN加速匀速建站CloudSite”。 2022-08-10 第十三次正式发布。 本次更新说明如下: 增加“CDN加速OBS常见问题”章节。 2022-08-01 第十二次正式发布。 本次更新说明如下: 更新“CDN日志转存到OBS”章节,修改“创建委托”步骤。 2022-05-24 第十一次正式发布。 本次更新说明如下: 更新“CDN日志转存到OBS”章节,新增“创建自定义策略”。 2022-03-10 第十次正式发布。 本次更新说明如下: 新增“自定义OBS私有桶策略配置”章节 2021-12-28 第九次正式发布。 本次更新说明如下: 更新“如何提高缓存命中率”章节。 2021-09-08 第八次正式发布。 本次更新说明如下: 更新“CDN日志转存到OBS”代码示例。 2021-06-18 第七次正式发布。 本次更新说明如下: 新增“获取客户端真实IP” 2021-04-28 第六次正式发布。 本次更新说明如下: 新增“CDN日志转存到OBS” 2021-04-21 第五次正式发布。 本次更新说明如下: 新增“如何提高缓存命中率” 2021-04-02 第四次正式发布。 本次更新说明如下: 新增“CDN加速ECS资源” 2021-03-19 第三次正式发布。 本次更新说明如下: 更新“CDN加速OBS桶文件” 新增“如何设置缓存过期时间” 2020-04-15 第二次正式发布。 本次更新说明如下: 更新操作步骤 优化相关描述 2019-06-27 第一次正式发布。
-
IIS 7如何在访问日志中获取客户端真实IP 如果您的源站部署了IIS 7服务器,您可以通过安装“F5XForwardedFor”模块,从IIS 7服务器记录的访问日志中获取客户端真实的IP地址。 下载F5XForwardedFor模块。 根据服务器的操作系统版本将“x86\Release”或者“x64\Release”目录中的“F5XFFHttpModule.dll”和“F5XFFHttpModule.ini”文件复制到指定目录(例如,“C:\x_forwarded_for\x86”或“C:\x_forwarded_for\x64”),并确保IIS进程对该目录有读取权限。 在IIS服务器的选择项中,双击“模块”,进入“模块”界面。 单击“配置本机模块”,在弹出的对话框中,单击“注册”。 在弹出的对话框中,按操作系统注册已下载的DLL文件后,单击“确定”。 x86操作系统:注册模块“x_forwarded_for_x86” 名称:x_forwarded_for_x86 路径:“C:\x_forwarded_for\x86\F5XFFHttpModule.dll” x64操作系统:注册模块“x_forwarded_for_x64” 名称:x_forwarded_for_x64 路径:“C:\x_forwarded_for\x64\F5XFFHttpModule.dll” 注册完成后,勾选新注册的模块(“x_forwarded_for_x86”或“x_forwarded_for_x64”)并单击“确定”。 在“ISAPI和CGI限制”中,按操作系统添加已注册的DLL文件,并将其“限制”改为“允许”。 x86操作系统: ISAPI或CGI路径:“C:\x_forwarded_for\x86\F5XFFHttpModule.dll” 描述:x86 x64操作系统: ISAPI或CGI路径:“C:\x_forwarded_for\x64\F5XFFHttpModule.dll” 描述:x64 重启IIS 7服务器,等待配置生效。 查看IIS 7服务器记录的访问日志(默认的日志路径为:“C:\WINDOWS\system32\LogFiles\ ”,IIS日志的文件名称以“.log”为后缀),可获取X-Forwarded-For对应的客户端真实IP。
-
IIS 6如何在访问日志中获取客户端真实IP 如果您的源站部署了IIS 6服务器,您可以通过安装“F5XForwardedFor.dll”插件,从IIS 6服务器记录的访问日志中获取客户端真实的IP地址。 下载F5XForwardedFor模块。 根据您服务器的操作系统版本将“x86\Release”或者“x64\Release”目录中的“F5XForwardedFor.dll”文件复制至指定目录(例如,“C:\ISAPIFilters”),同时确保IIS进程对该目录有读取权限。 打开IIS管理器,找到当前开启的网站,在该网站上右键选择“属性”,打开“属性”页面。 在“属性”页面,切换至“ISAPI筛选器”,单击“添加”,在弹出的窗口中,配置如下信息: “筛选器名称”:“F5XForwardedFor”; “可执行文件”:“F5XForwardedFor.dll”的完整路径,例如:“C:\ISAPIFilters\F5XForwardedFor.dll” 单击“确定”,重启IIS 6服务器。 查看IIS 6服务器记录的访问日志(默认的日志路径为:“C:\WINDOWS\system32\LogFiles\ ”,IIS日志的文件名称以“.log”为后缀),可获取X-Forwarded-For对应的客户端真实IP。
-
背景信息 网站接入CDN加速后,源站服务器端从IP头部获取的用户访问IP不是客户端的真实IP。当您因为业务需要获取客户端真实IP时,可以通过配置网站服务器获取客户端的真实IP。 代理服务器(CDN、WAF等)在把用户的HTTP、WebSocket、WSS请求转到下一环节的服务器时,会在头部中加入一条“X-Forwarded-For”记录,用来记录用户的真实IP,其形式为“X-Forwarded-For:客户端的真实IP,代理服务器1-IP, 代理服务器2-IP,代理服务器3-IP,……”。 因此,您可以通过获取“X-Forwarded-For”对应的第一个IP来得到客户端的真实IP。
-
华为云CDN是否支持对中文域名的加速? CDN暂不支持加速中文域名,接入CDN的域名需要满足以下基本规范: 域名长度不能超过75个字符,支持大小写字母、数字、“-”、“.”。 每个账号最多支持加速100个域名。 加速域名不允许重复添加。 CDN不支持非法网站接入,对于已接入CDN的域名,会进行定期复审,如发现存在违规行为,将立即中止该域名的CDN加速,同时中止该用户名下所有域名的CDN服务。 父主题: 功能咨询
-
CDN域名服务范围对源站服务器位置、备案是否有要求? CDN服务范围与源站服务器位置 CDN域名的服务范围对源站服务器所在位置没有特殊要求。 CDN服务范围与备案关系 域名是否需要备案与域名提供商地域、网站服务器所处地域无关,与您加速域名的CDN加速服务范围有关。只要您的加速服务范围包含中国大陆(中国大陆,全球),该域名必须在工信部备案才能接入CDN。 如果CDN加速服务范围仅为中国大陆境外,则该域名不需要在工信部备案。 父主题: 使用咨询
-
服务器在中国大陆境外,网站访问人群在中国大陆,该如何选择服务范围? 建议您的服务范围选择中国大陆。 当您的源站在中国大陆境外,且您开通的CDN加速服务范围在中国大陆时: 当中国大陆用户访问您的加速域名时会就近访问到中国大陆节点上,加速效果明显。 当中国大陆境外用户访问您的加速域名时,因您未开通中国大陆境外加速服务,中国大陆境外用户也会访问到中国大陆节点上。对中国大陆境外用户来说加速效果不是很明显,甚至会无法访问。 父主题: 使用咨询
-
域名添加失败怎么办? 添加域名失败的原因及解决方案见下表: 原因 解决方案 加速域名与源站域名相同 加速域名和源站域名不能是同一个,否则会进入死循环,CDN节点无法回源,请更换加速域名或者源站域名后重试。 加速域名已存在 加速域名已经在华为云CDN添加,不允许重复添加同一个加速域名,请使用其他域名作为加速域名。 账号未实名认证 国际站用户在没有实名认证的情况下,无法添加服务范围包含中国大陆的加速域名,请实名认证后重试。 加速域名受限 因加速域名违规导致账号被冻结,请提交工单解决。 欠费导致帐号被冻结,请缴清欠款后重新添加。 源站是加速域名的子域名 域名的源站不能是已经添加到华为云CDN加速的泛域名的子域名,这样会造成回源失败,请更换源站域名后重试。 父主题: 故障相关
-
国外IP地址访问加速域名时,会通过哪个节点加速? 国外IP地址访问加速域名时,会根据客户端访问的出口IP地址,分配相应的CDN节点服务,域名的服务范围不同,分配的节点也不同。 如果加速域名的服务范围为全球或中国大陆境外,境外IP地址访问域名时会转发到最近的节点。 如果域名的服务范围为中国大陆,境外IP地址访问域名时也会转发到中国大陆的节点,由于跨境的网络的影响,访问速度可能较慢或者无法访问。 CDN节点分布在全球各地,建议您根据业务特点合理选择服务范围。 父主题: 使用咨询
-
代码示例 使用代码示例时请根据需要调整刷新类型(type)及需要刷新的URL(urls)。 # -*- coding:utf-8 -*- import json import requests def handler (event, context): header = {"x-auth-token":context.getToken(),'content-type':'application/json;charset=utf-8'} data = { "refresh_task":{ "type":"file", "urls":["https://test.xxx.com/1.txt"] } } url = 'https://cdn.myhuaweicloud.com/v1.0/cdn/content/refresh-tasks' result = requests.post(url=url,headers=header,data=json.dumps(data)) context.getLogger().info(result.text) return { 'statusCode': 200, 'body': result.text, 'isBase64Encoded': False, 'headers': { 'Content-Type': 'application/json' } }
-
工作原理 OCSP(Online Certificate Status Protocol,在线证书状态协议),是由数字证书颁发机构CA(Certificate Authority)提供,客户端通过OCSP可实时验证证书的合法性和有效性。 未开启OCSP Stapling时,网站的每个访问者都会进行OCSP查询,这会影响浏览器打开页面的速度,同时,高并发的请求会给CA的服务器带来很大的压力。 开启OCSP Stapling后,CDN可以预先查询并缓存在线证书验证结果,用户只需验证该响应的有效性而不用再向数字证书认证机构(CA)发送请求,提高TLS握手效率,减少用户验证时间。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格