-
HDC期间,媒体产品部看点满满,奖品多多,欢迎开发者们来耍~
-
华为cdn通过缓存来让速度变快,那么资源文件更新后,缓存多久能同步更新?
-
如何才能进入拨测列表? 需要购买什么?
-
帖子内容最近更新时间 2024-11-07活动商务产品优势产品活动点击前往活动页查看链接CDN最新产品动态了解详情CDN加速效果性能对比了解详情CDN产品介绍了解详情产品特性,优势,场景,客户案例,节点分布等API列表了解详情SDK列表了解详情【官方视频】CDN产品介绍华为云CDN服务优势,使用配置,资源介绍,api接口介绍、常见问题等 >>>点击此处查看【最佳实践】CDN+Nginx(新上线)客户端访问加速域名经过Nginx转发时,如何定期刷新DNS解析 >>>点击此处查看【最佳实践】CDN+函数工作流FunctionGraph(新上线)创建刷新函数,实现定时刷新CDN节点缓存,以保证用户能获取到最新的资源>>>点击此处查看【最佳实践】CDN+OBSCDN缓存OBS桶数据,提升资源下载速度和稳定性,配合使用可节约50%+带宽成本 >>>点击此处查看【最佳实践】CDN+ECSCDN加速ECS资源,降低源站压力,提升静态资源加载质量,配置指导 >>>点击此处查看【最佳实践】CDN+WAF流量由CDN到WAF,WAF再转到源站,实现网站加速、流量检测和攻击拦截 >>>点击此处查看【最佳实践】CDN+云速建站CloudSiteCDN加站点,提高网站的响应速度与网站的可用性,目前仅支持多终端独立企业版 >>>点击此处查看
-
什么是CDNCDN(Content Delivery Network,内容分发网络)是一种构建在现有网络之上的虚拟网络技术。其主要目的是通过在各地部署大量的缓存服务器,使用户在访问网站时能够就近获取所需内容,从而提高访问速度和命中率。CDN 技术的重要意义CDN 技术具有以下特点和意义:降低网络拥塞:CDN 技术通过在用户访问相对集中的地区或网络中部署缓存服务器,分担了网站服务器的压力,降低了网络拥塞。提高访问速度:当用户请求的内容在附近的缓存服务器上有缓存时,可以直接从缓存服务器获取,减少了数据传输的延迟,提高了访问速度。提高命中率:CDN 技术通过负载均衡、内容分发和调度等功能模块,使内容能够在用户访问时被高效地命中,从而提高命中率。缓解长途骨干网压力:CDN 技术将用户请求的内容尽量在靠近用户的地方进行处理和缓存,减少了长途骨干网的负担,提高了网络传输效率。容错和稳定性:CDN 技术通过分布式部署,增强了网站的容错能力和稳定性,即使某一台服务器出现故障,其他服务器仍可以继续为用户提供服务。节省带宽和资源:CDN 技术可以有效减少网站服务器的负载,节省带宽和资源,降低运营成本。如何搭建CDN搭建一个 CDN 网络涉及以下几个步骤:确定需求和目标:首先明确 CDN 项目的需求和目标,例如提高网站访问速度、降低服务器负载等。根据需求选择合适的技术架构和业务场景。选择 CDN 服务提供商:根据项目需求和预算,选择一个合适的 CDN 服务提供商。市面上有很多 CDN 服务提供商,如阿里云、腾讯云、Akamai 等。部署缓存服务器:搭建 CDN 网络需要部署大量的缓存服务器。可以根据项目需求选择合适的硬件设备、操作系统和缓存软件。常见的缓存服务器软件有 Varnish、Redis、Memcached 等。配置缓存服务器:配置缓存服务器的参数,如缓存策略、内容过期时间、负载均衡等。根据实际业务场景调整配置,以达到最佳性能。部署内容服务器:内容服务器是 CDN 网络的核心,用于存储原始数据。可以选择开源的内容服务器软件,如 Nginx、Apache 等。确保内容服务器与其他服务器之间的网络连接稳定。配置内容服务器:根据 CDN 服务提供商提供的 CDN 节点 IP 地址,配置内容服务器的相关参数,使其将请求转发到 CDN 节点。配置 DNS:将网站域名的解析指向 CDN 服务提供商提供的 CNAME 或者 A 记录,使用户请求被正确导向 CDN 网络。监控和优化:部署完成后,持续监控 CDN 网络的运行状况,如缓存命中率、网络延迟、服务器负载等。根据监控数据进行优化,提高 CDN 网络的性能。安全性保障:为确保 CDN 网络的安全,需要配置防火墙、安全组等安全措施,防止恶意攻击和非法访问。 通过以上步骤,可以成功搭建一个 CDN 网络。需要注意的是,根据实际业务需求和规模,CDN 网络的搭建和优化可能涉及更多细节。在搭建过程中,要充分考虑性能、安全、可扩展性等因素,以确保 CDN 网络稳定高效地运行。国内CDN服务提供商国内著名的 CDN 服务公司有以下几家:网宿科技:国内最早开展 IDC 和 CDN 业务的厂商之一,拥有丰富的经验和稳定的服务。百度加速乐:百度旗下的 CDN 服务品牌,提供优质的 CDN 加速服务。阿里云:阿里巴巴旗下的云服务品牌,提供包括 CDN 在内的全方位云计算服务。腾讯云:腾讯旗下的云服务品牌,同样提供包括 CDN 在内的多种云服务。加速中国:国内知名的 CDN 服务商,致力于为用户提供高性能、高可靠的 CDN 加速服务。神盾安全中心:提供免备案的 CDN 服务,拥有多个国内外节点,满足不同场景的需求。摩杜云:国内知名的云计算和人工智能服务提供商,全球拥有超过 2800 个边缘计算节点,国内拥有超过 2000 个节点。这些公司在 CDN 服务领域有着丰富的经验和技术积累,可以为用户提供稳定、高效、安全的 CDN 加速服务。根据自身需求选择合适的 CDN 服务提供商,可以有效提升网站访问速度和用户体验。
-
一 旁站介绍:旁站是攻击目标在同一服务器上的不同网站,在攻击目标没有漏洞的情况下,可以通过查找旁站的漏洞攻击旁站,然后再通过提权拿到服务器的最高权限,拿到服务器的最高权限后攻击目标也就拿到了。二 旁站攻击方法:1 Nmap扫描获取旁站信息使用 nmap -sV -p 1-65535 ip 对目标IP进行全端口扫描。确保每个开放的端口服务都能识别到。命令:nmap -sV -p 1-65535 192.168.88.21扫描效果会出现一些端口的信息通过命令nmap -sV -p 1-65535 ip对ip地址的1-65535端口都进行一次扫描并进行服务识别,发现除了80端口运行了apache的网站外,再800端口还运行了iis服务的网站,800段偶的网站就是80的旁站。再80 端口没有漏洞下,就可以通过800端口运行IIS服务的旁站进行攻击,通过iis服务的漏洞获取到了ip服务器的最高权限,那么运行再ip的服务器80端口的apache服务的所有权限也就拿到了。2 第三方服务获取旁站信息(1)旁站信息可以通过第三方服务进行收集,比较常见的有站长工具 bing搜索、zoomeeye、shodan等站长工具可以进行同ip网站查询,网站为:https://s.tool.chinaz.com/sname.通过查询 www.***.net网站后发现此服务器一共出现三个网站 共有俩个旁站。(2)通过Bing搜索,链接为:https://cn.bing.com/search?q=ip:x.x.x.x.通过Bing搜索对x.x.x.x进行搜索后发现此IP服务器一共开启了3个WEB网站,与站长工具 查询的结果相同。因为 家里网络原因就没做截图的说明 大家可以自己试一下 只做技术交流哦!!!
-
一 介绍:网络攻防是大学期间必修的课程,在毕业之后也随之要面临着各种网络工程师应该做到的责任,比如保护网络不受非法侵犯,在有能力保护的前提下就需要了解怎么去让网络不受到侵害,而且又是怎么在这个虚拟世界复杂多变情况下获取到真实的ip地址呢?为了保证网络的稳定和快速的传输,网站服务商会在网络的不同位置设置节点服务器,通过CDN的方式和技术,将网络请求分发到最有的节点服务器上面。如果网站开启了CDN加速,就无法通过网站的域名信息获取到真实的IP,要对目标的IP资源进行收集,就需要绕过CDN查询到真实的IP信息才可以。二:如何判断是不是CDN?在对目标的IP信息收集之前呢,首先要判断目标网络是否开启了CDN,一般通过不同地方的主机ping域名的方式和nslookup的方式俩种方法来解析,通过查看发挥的ip是否多个的方式来判断网站是否开启了CDN,如果返回的IP地址信息是多个不同的IP,那么就需要CDN的技术了。1)使用不同zhujiping域名判断是否有CDN如果是自己在多地都有主机可以ping域名,就可以根据返回的IP地址来进行判断,如果使用的俩地主机ping域名是 ***.com的形式 返回的IP信息是39.156.**.79等俩个不同的IP地址,说明这个网站使用了CDN。互联网的很多公开服务都可以进行多地的ping来判断是否开启了CDN,比较常用的有以下几个工具:战场工具:http://ping.chinaz.com/。爱站网:https://ping.aizhan.com/。随便打开一个工具,用一个网站来测试 如果输出的结果是俩个截然不同的ip说明使用了 CDN的方式2)使用nslookup域名解析判断是否有CDN通过系统自带的 nslookup 命令对域名进行解析,发现会有俩个不同的IP地址,说明该域名网站使用了CDN进行了保护。如何绕过CDN获取真实的IP地址呢?1)查询子域名由于CDN加速需要一定的支付费用,很多网站支队主站进行了CDN加速,子网站没有做CDN加速的使用,子域名和主站也很有可能在同一个服务器或则同一个C段网络中,可以通过子域名探测的方式,来手机目标的子域名信息,通过查询子域名的IP信息来辅助判断主站的真实IP地址信息。子域名查询有枚举发现子域名,搜索引擎发现子域名、第三方聚合服务发现子域名、证书透明性信息发现子域名、DNS域传送漏洞会发现子域名等多种方式。2)查询CDN历史记录通过查询DNS和IP绑定的历史记录就有可能发现之前的IP地址的真实信息。一般都是通过第三方的服务网站进行查询常见的查询网站有:dnsdb:https://dnsdb.io/zh-cn微步在线:https://x.threatbook.cn/。以上便是对网络攻防的概念叙述 只做技术交流。
-
618电商狂欢节,嗨购享不停!今年618华为云音视频优惠大放送,年中最强优惠回馈新老客户,折扣优惠享不停!新客5折秒杀,还可领取价值680元的专享折后满减代金券大礼包。此外,新品视频直播闲时流量包券后低至0.075元/GB,让客户享受更低的价格,体验更优质的视频服务。华为云音视频618分会场精选多个爆款规格流量包倾情奉上,全方位多重力度优惠为企业客户降低成本压力!快来和我们一同开启智能加速吧!登录华为云官网,前往华为云音视频618分会场,更多优惠等你来发现!
-
https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=182728
-
华为云CDN开年采购季——晒单送码豆,最高可送100W码豆
-
CDN的活动为啥我一直收不到码豆呢?大家都收到了吗?
-
CDN有奖调研活动,2000码豆任你拿这个活动还有吗?为啥我提交好几次都没有豆。https://bbs.huaweicloud.com/forum/thread-147775-1-1.html
-
# 1.服务说明 FunctionGraph服务:基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。 # 2.方案说明 ## 2.1 需求及痛点 需求:实现CDN日志实时转存到OBS 痛点:当前CDN日志模块不支持转储能力,需要客户代码实现该能力 ## 2.2 方案设计  **方案说明:** - 定时触发器,固定频率启动函数 - 函数请求CDN日志接口,获取日志下载链接 - 函数请求下载链接,将下载的日志上传到OBS固定目录下。 ## 2.3 服务创建 ### 2.3.1 确认CDN日志记录状态 - 在华为云控制台查看CDN日志记录是否正常,如图可知日志会有5个小时的延迟。  ### 2.3.2 FunctionGraph新建函数 - 登录华为云控制台,进入“管理与部署>统一身份认证服务”,选择“委托”页签,点击创建“委托”。  - 下一步,进入委托配置权限界面。作用范围:全局服务;权限选择:OBS OperateAccess 、CDN LogsReadOnlyAccess。点击确认  - 华为云控制台,选择“计算>函数工作流”,进入函数工作流界面,点击右上角“创建函数”,输入图片中的信息,点击创建函数  - 创建后,进入代码编辑界面,将 Demo代码 的代码内容复制到在线IDE  - 点击配置按钮,配置“环境变量”  **注:** url :https://cdn.myhuaweicloud.com/v1.0/cdn/logs(CDN日志查询的url)。 domain_name :xxx.com(需要转存日志的CDN加速域名)。 obsAddress :xxx.com(用于存日志的OBS桶域名)。 destBucket :******(用于存日志的OBS桶文件夹名称)。 - 在函数配置界面选择“触发器”,点击右侧“创建触发器”,配置内容如下,点击确定。(实例代码中日志转储的日志为最新生成的近一小时日志)  - 在函数配置界面,单击右上角“请选择测试事件”下拉框,选择“配置测试事件”,配置内容如下,点击保存即可。  - 在函数配置界面,单击右上角“请选择测试事件”下拉框,选择“配置测试事件”,配置内容如下,点击保存即可。  - 点击函数的保存按钮即可,函数配置成功。 # 3.FunctionGraph适用说明 该FunctionGraph函数工作流适用于CDN日志转储OBS,转储规则为增量转储,可通过配置触发器以及修改代码实现定时增量转储固定周期的CDN日志。 # 4.Demo代码 ```python # -*- coding:utf-8 -*- import requests import datetime import time import os import sys import json from com.obs.client.obs_client import ObsClient from urllib.parse import urlparse if sys.version_info.major == 2 or not sys.version > '3': import httplib else: import http.client as httplib current_file_path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(current_file_path) TEMP_ROOT_PATH = "/tmp/" # OBS文件下载后的存储路径 region = 'china' # 默认值,用于FunctionGraph连接OBS使用 secure = True # 默认值,用于FunctionGraph连接OBS使用 signature = 'v4' # 默认值,用于FunctionGraph连接OBS使用 port = 443 # 默认值,用于FunctionGraph连接OBS使用 path_style = True # 默认值,用于FunctionGraph连接OBS使用 def handler(event, context): #引用context的logger方法 logger = context.getLogger() #CDN日志记录查询接口的起始时间,转换成时间戳;当前为近6个小时的日志记录 timer = (datetime.datetime.now()-datetime.timedelta(hours=6)).strftime("%Y-%m-%d %H") timeStamp = int(time.mktime(time.strptime(timer,"%Y-%m-%d %H"))*1000) #配置日志转储的起始时间点,转换成时间戳 timeStr = (datetime.datetime.now()-datetime.timedelta(hours=6)).strftime("%Y-%m-%d %H") timeStrStamp = int(time.mktime(time.strptime(timeStr,"%Y-%m-%d %H"))*1000) #配置日志转储的终止时间点,转换成时间戳 timeEnd = (datetime.datetime.now()-datetime.timedelta(hours=5)).strftime("%Y-%m-%d %H") timeSEndStamp= int(time.mktime(time.strptime(timeEnd,"%Y-%m-%d %H"))*1000) #CDN日志记录查询接口参数字段,显示数量为 pageSize* pageNumber pageSize = 5000 pageNumber = 1 #https请求加上verify=False忽略SSL验证后会出现警告,使用以下代码忽略警告 requests.packages.urllib3.disable_warnings() #queryDate 日志的产日日期,用于日志存储路径使用 queryDate = (datetime.datetime.now()-datetime.timedelta(hours=6)).strftime("%Y-%m-%d") #使用start函数 start(context, queryDate, timeStamp, pageSize, pageNumber,timeStrStamp,timeSEndStamp) #定义start函数,进行日志记录查询 def start(context, queryDate, timeStamp, pageSize, pageNumber,timeStrStamp,timeSEndStamp): #引用context的logger方法 logger = context.getLogger() #引用context的中用户参数(新建函数后配置的参数),引用url,domain_name logUrl = context.getUserData('url') domainName = context.getUserData('domain_name') #request的请求参数 params = {'query_date': timeStamp, 'domain_name': domainName, 'page_size': pageSize, 'page_number': pageNumber, 'enterprise_project_id':'ALL'} #request的请求头 headers = {'Content-Type': 'application/json;charset=UTF-8', 'X-Auth-Token': context.getToken()} #发起日志记录接口的请求, res = requests.get(logUrl, params=params, headers=headers, verify=False) # 请求状态码判断,若非200,打印响应信息 if res.status_code != 200: logger.info("query log urls: " + res.url + ", error: " + res.text) return ("query log urls: " + res.url + ", error: " + res.text) #创建res.text的python对象 resJson = json.loads(res.text) #打印res.text的内容 logger.info(res.text) #将响应信息中的total的值赋予total total = resJson['total'] #定义变量i ,用于循环计数 i = 0 #从resjson logs值中循环取值 for val in resJson['logs']: i += 1 #打印 val中的link的值 logger.info(val["link"]) #val中的start_time的值赋予start_time start_time = val["start_time"] #取时间段内日志记录 if int(start_time) >= timeStrStamp and int(start_time) timeSEndStamp: # link分为6个部分,协议、位置、路径、参数、查询、片段。 url = urlparse(val["link"]) # 将url 中的请求地址根据“:”进行分片 netlocs = url.netloc.split(":") # 创建连接 conn = httplib.HTTPConnection(netlocs[0], int(netlocs[1])) conn.request('GET', url.path + "?" + url.query) # CDN日志,OBS的存储路径 objName = os.path.join(val["domain_name"], queryDate, val["name"]) #使用 put_content_to_obs函数 put_content_to_obs(context, objName, conn.getresponse()) else: continue # 判断转储的日志量与total对比;不满足则重新执行start函数 if i > total: start(context, queryDate, timeStamp, pageSize, pageNumber + 1,timeStrStamp,timeSEndStamp) #定义put_content_to_obs函数,上传日志到OBS def put_content_to_obs(context, objName, content): #引用context中的方法获取ak,sk ak = context.getAccessKey() sk = context.getSecretKey() #引用context中的用户定义变量obsAddress,destBucket obsAddress = context.getUserData('obsAddress') destBucket = context.getUserData('destBucket') #创建OBS上传实例 TestObs = ObsClient(access_key_id=ak, secret_access_key=sk, is_secure=secure, server=obsAddress, signature=signature, path_style=path_style, region=region, ssl_verify=False, port=port, max_retry_count=5, timeout=20) #上传日志 resp = TestObs.putContent(destBucket, objName, content=content) #判断执行结果 if resp.status 300: print('requestId:', resp.requestId) else: print('errorCode:', resp.errorCode) print('errorMessage:', resp.errorMessage) ``` # 5.Demo代码说明 ## 5.1 注释说明 ```python #CDN日志记录查询接口的起始时间,转换成时间戳;当前为近6个小时的日志记录 timer = (datetime.datetime.now()-datetime.timedelta(hours=6)).strftime("%Y-%m-%d %H") timeStamp = int(time.mktime(time.strptime(timer,"%Y-%m-%d %H"))*1000) #配置日志转储的起始时间点,转换成时间戳 timeStr = (datetime.datetime.now()-datetime.timedelta(hours=6)).strftime("%Y-%m-%d %H") timeStrStamp = int(time.mktime(time.strptime(timeStr,"%Y-%m-%d %H"))*1000) #配置日志转储的终止时间点,转换成时间戳 timeEnd = (datetime.datetime.now()-datetime.timedelta(hours=5)).strftime("%Y-%m-%d %H") timeSEndStamp= int(time.mktime(time.strptime(timeEnd,"%Y-%m-%d %H"))*1000) ``` **示例说明:** 假设代码执行时间为 2021-12-30 20:30 日志记录查询接口的查询时间为 timestamp=2021-12-30 14:00 至 2021-12-30 20:30 由于CDN的日志生成时间延迟6小时,则 2021-12-30 14:00 至 2021-12-30 20:30 的时间内只有2021-12-30 14:00 的日志文件生成。 由于设置触发器每小时触发一次,即可每小时上传一次最新生成的日志,实现增量上传。 ## 5.2 Context说明 | 方法名 | 方法说明 | |:---|:---| | getRequestID() | 获取请求ID。 | | getRemainingTimeInMilliSeconds () | 获取函数剩余运行时间。 | | getAccessKey() | 获取用户委托的AccessKey(有效期24小时),使用该方法需要给函数配置委托。 | | getSecretKey() | 获取用户委托的SecretKey(有效期24小时),使用该方法需要给函数配置委托。 | | getUserData(string key) | 通过key获取用户通过环境变量传入的值。 | | getFunctionName() | 获取函数名称。 | | getRunningTimeInSeconds () | 获取函数超时时间。 | | getVersion() | 获取函数的版本。 | | getMemorySize() | 分配的内存。 | | getCPUNumber() | 获取函数占用的CPU资源,单位为millicore(1 core=1000 millicores)。取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores),函数占用的CPU为基础CPU:200 millicores,再加上内存按比例占用的CPU,计算方法:内存/128 * 100 + 200。 | | getProjectID() | 获取projectID。 | | getPackage() | 获取函数组。 | | getToken() | 获取用户委托的token(有效期24小时),使用该方法需要给函数配置委托。 | | getLogger() | 获取context提供的logger方法,返回一个日志输出类,通过使用其info方法按“时间-请求ID-输出内容”的格式输出日志。如调用info方法输出日志:logg = context.getLogger() logg.info("hello") | # 6.实测结果 - FunctionGraph函数界面,点击测试按钮。查看执行结果以及转储到OBS中的日志。 **a.FunctionGraph 函数界面**  **b.OBS界面查看日志** 
-
【操作步骤&问题现象】1、调用CDN预热接口,调用成功,返回task_id2、根据task_id查询预热状态,但是显示预热状态失败。为什么会出现预热失败,怎么样才能预热成功
-
【功能模块】【操作步骤&问题现象】1、调用CDN预热接口,调用成功,返回task_id2、根据task_id查询预热状态,但是显示预热状态失败。为什么会出现预热失败,怎么样才能预热成功【截图信息】【日志信息】(可选,上传日志内容或者附件)
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签