爆款云主机低至25.83元/年
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 云聚517 · 好价翼起拼 NEW 爆款云主机低至25.83元/年,参与拼团享更多优惠,拼成得额外优惠券
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 聚力AI赋能 天翼云大模型专项 大模型特惠专区·Token Plan 轻享包低至9.9元起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 企业出海解决方案 NEW 助力您的业务扬帆出海,通达全球!
  • 天翼云信创专区 NEW “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
Token服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V4-Flash
  • GLM-5.1
  • Qwen3.5-122B-A10B
  • DeepSeek-V3.2(旗舰版)
  • GLM-5(正式版)
智算一体机
  • 智算一体机
智能体引擎
  • 智能体引擎
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2026智能云生态大会
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      对等连接_相关内容
      • 创建插件
        本页为您介绍创建插件的操作步骤。 1. 通过telesql连接到CN节点。 2. 执行sql “create extension pgdirtyread;” 3. 执行telesql命令dx,查看插件pgdirtyread是否存在。
        来自:
        帮助文档
        分布式融合数据库HTAP
        私有云产品
        开发手册
        闪回查询
        创建插件
      • 企业服务
        远程办公服务 根据产品计费订购情况进行展示零信任远程办公的企业服务状态,若远程办公服务为关闭,则无法进行内网连接,请谨慎操作。 连接器状态:为提供更稳定优质的服务,目前将根据企业使用连接器的情况自动设置连接器状态,具体可查看连接器状态设置。 服务区域:区分中国内地、全球,若服务区域为中国内地,则覆盖资源仅为中国内地资源,若为全球,根据订购情况区分采用高性能网络、普通线路进行提供不同国际线路资源。 客户端IP限制:鉴于安全监管要求,默认开启非中国大陆访问限制(即非中国大陆用户将无法使用VPN内网连接功能),如有此类业务场景需求,需提交工单申请放开限制。注意:若服务区域为中国大陆,未订购全球线路,则非中国大陆访问质量无法保障。 注意 服务到期、退订、流量用尽将自动将企业服务设为禁用。若计费模式为带宽,则带宽超量后进行限速。
        来自:
        帮助文档
        边缘安全加速平台
        零信任网络服务
        设置
        企业服务
      • 管理JMeter测试报告
        概念 解释 各项指标总量 所有线程组各项指标总量的汇总。 最大并发:最大并发操作的虚拟用户数。 RPS:RPS请求总数/响应总时长。 正常返回:如设置了检查点,检查点通过的事务响应数,如未设置默认为返回2XX的事务响应数。 响应时间:指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。 响应码:记录压测任务进行中响应码分布的情况。 带宽:记录压测任务运行所消耗的实时带宽变化。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的事务响应数。 SLA事件:SLA中定义的事件发生情况。 平均RPS 是指性能测试在统计周期内每秒发送到被测服务器的请求数实时统计,RPS统计周期内发送的请求数/统计周期。 平均RT 记录压测任务平均响应时间的变化。 并发数 记录压测任务运行时,当前并发操作的虚拟用户数的变化。 带宽(KB/S) 记录压测任务运行所消耗的实时带宽变化。 上行带宽:从JMeter测试执行机往外发送出去数据的速度。 下行带宽:JMeter测试执行机接收到数据的速度。 响应状态分布 正常返回、解析失败、校验失败、响应超时的每秒处理事务数,该项指标与思考时间、并发用户、服务器响应能力均有关,比如思考时间为500ms,如果服务器对于当前用户的上个请求响应时间小于500ms,则该用户每秒请求2次。 正常返回:如设置了检查点,检查点通过的事务响应数,如未设置默认为返回2XX的事务响应数。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的用例响应数。 解析失败:HTTP响应无法被正常解析的数量。l校验失败:如设置了检查点,检查点未通过的事务响应数,如未设置,返回不是2XX的事务响应数。 响应超时:是在设置的响应超时时间内,对应的TCP连接中没有响应数据返回的用例请求数量。 连接被拒绝:发送报文建立连接时,服务器拒绝连接数。 其他错误:不属于以上几种错误的数量。 响应码分布 1XX/2XX/3XX/4XX/5XX。 响应时间区间比例 用例的响应时间区间比例。 TP最大响应时间 指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取对应的百分比的那个值作为TPXX的最大响应时间。 TP50:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50的值。 TP75:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第75%的那个值作为TP75的值。 TP90:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第90%的那个值作为TP90的值。 TP95:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第95%的那个值作为TP95的值。 TP99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99%的那个值作为TP99的值。 TP99.9:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.9%的那个值作为TP99.9的值。 TP99.99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.99%的那个值作为TP99.99的值。
        来自:
        帮助文档
        性能测试PTS
        用户指南
        JMeter测试工程管理
        管理JMeter测试报告
      • 术语解释
        本文将为您介绍算力专网产品相关的术语概念。 中国电信下一代承载网(CN2DCI) 中国电信融合原CN2和DCI两张网络之后构建的面向2B业务的差异化、智能化、服务化专用承载网,目标建成技术领先、行业最有竞争力的2B网络。 CN2DCI网络新平面 中国电信基于SDN架构,在CN2DCI网络基础上通过引入SRv6+EVPN等技术重构的高质量、高可靠、差异化精品网络。 SRv6(Segment Routing IPv6) SRv6是一种网络转发技术,SR指Segment Routing技术,v6指原生IPv6,SRv6就是IPv6+Segment Routing,是SR技术的IPv6演进版本。 多协议标签交换(MPLS,MultiProtocol Label Switch) 结合二层交换和三层路由的集成数据传输技术。 虚拟专网(VPN,Virtual Private Network) 利用开放的公共网络建立专用数据传输通道,将不同站点连接起来并提供安全的端到端数据通信的广域网组网方式。 EVPN (Ethernet Virtual Private Network) 是一种用于二层网络互联的VPN技术,采用类似于BGP/MPLS IP VPN 的机制,通过扩展BGP协议,使用扩展后的可达性信息,使不同站点的二层网络间的MAC地址学习和发布过程从数据平面转移到控制平面。 运营商边界设备(PE,Provider Edge) 位于运营商网络边缘,用于连接CE设备,一般为路由器。 客户边界设备(CE,Customer Edge) 位于客户站点边缘,用于连接PE设备,一般为路由器。
        来自:
        帮助文档
        算力专网
        产品介绍
        术语解释
      • Java调用示例(1)
        1. com.ffcs.ebp.ebpsdk.common.Response plaintext package com.ffcs.ebp.ebpsdk.common; import java.util.Map; public class Response { private int statusCode; private String body; private Map headers; public int getStatusCode() { return statusCode; } public void setStatusCode(int statusCode) { this.statusCode statusCode; } public String getBody() { return body; } public void setBody(String body) { this.body body; } public Map getHeaders() { return headers; } public void setHeaders(Map headers) { this.headers headers; } } 2. com.ffcs.ebp.ebpsdk.YunSign plaintext package com.ffcs.ebp.ebpsdk; import com.ffcs.ebp.ebpsdk.common.Response; import org.apache.commons.lang.StringUtils; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.client.config.AuthSchemes; import org.apache.http.client.config.CookieSpecs; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.conn.socket.PlainConnectionSocketFactory; import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.util.EntityUtils; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.io.; import java.net.URLEncoder; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.KeyManagementException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate; import java.text.SimpleDateFormat; import java.util.; public class YunSign { private String url; private String body; private String ak; private String sk; private String uuId; private int temp; private String contentType; private String queryStr; private Map headerMap; private String afterQuery; public YunSign(String url, String ak, String sk, String uuId, String body, int temp, String contentType, String queryStr, Map headerMap) { this.url url; if(body.equals("{}")){ body ""; } this.body body; this.ak ak; this.sk sk; this.uuId uuId; this.temp temp; this.contentType contentType; this.queryStr queryStr; this.headerMap headerMap; } public Response toDo(String method, int connectTimeout, int connectionRequestTimeout, int socketTimeout) { Response response null; method method.toUpperCase(); switch (method) { case "POST": response doPost(connectTimeout, connectionRequestTimeout, socketTimeout); break; case "GET": if (StringUtils.isNotEmpty(this.body)) { response sendJsonByGetReq(connectTimeout, connectionRequestTimeout, socketTimeout); } else { response doGet(connectTimeout, connectionRequestTimeout, socketTimeout); } break; case "DELETE": if (StringUtils.isNotEmpty(this.body)) { response sendJsonByDeleteReq(connectTimeout, connectionRequestTimeout, socketTimeout); } else { response doDelete(connectTimeout, connectionRequestTimeout, socketTimeout); } break; case "PUT": response doPut(connectTimeout, connectionRequestTimeout, socketTimeout); break; case "PATCH": response doPatch(connectTimeout, connectionRequestTimeout, socketTimeout); break; case "HEAD": response doHead(connectTimeout, connectionRequestTimeout, socketTimeout); break; } return response; } private String getSign(Date eopDate) { String calculateContentHash getSHA256(body); //报文原封不动进行sha256摘要 // System.out.println("calculateContentHash:" + calculateContentHash); SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); SimpleDateFormat DATEFORMATTER new SimpleDateFormat("yyyyMMdd"); String singerDate TIMEFORMATTER.format(eopDate); String singerDd DATEFORMATTER.format(eopDate); //header的key按照26字母进行排序, 以&作为连接符连起来 try { String CampmocalHeader String.format("ctyuneoprequestid:%sneopdate:%sn", this.uuId, singerDate); String sigture CampmocalHeader + "n" + this.afterQuery + "n" + calculateContentHash; // System.out.println("sigture:" + sigture); byte[] ktime HmacSHA256(singerDate.getBytes(), sk.getBytes()); // System.out.println("ktime:" + HexUtils.bytes2Hex(ktime)); byte[] kAk HmacSHA256(ak.getBytes(), ktime); // System.out.println("kAk:" + HexUtils.bytes2Hex(kAk)); byte[] kdate HmacSHA256(singerDd.getBytes(), kAk); // System.out.println("kdate:" + HexUtils.bytes2Hex(kdate)); String Signature Base64.getEncoder().encodeToString(HmacSHA256(sigture.getBytes("UTF8"), kdate)); // System.out.println("Signature:" + Signature); String signHeader String.format("%s Headersctyuneoprequestid;eopdate Signature%s", ak, Signature); // System.out.println("signHeader:" + signHeader); return signHeader; } catch (Exception e) { e.printStackTrace(); } return null; } / 在调用SSL之前需要重写验证方法,取消检测SSL 创建ConnectionManager,添加Connection配置信息 @return HttpClient 支持https / private static CloseableHttpClient sslClient() { try { // 在调用SSL之前需要重写验证方法,取消检测SSL X509TrustManager trustManager new X509TrustManager() { @Override public X509Certificate[] getAcceptedIssuers() { return null; } @Override public void checkClientTrusted(X509Certificate[] xcs, String str) { } @Override public void checkServerTrusted(X509Certificate[] xcs, String str) { } }; SSLContext ctx SSLContext.getInstance(SSLConnectionSocketFactory.TLS); ctx.init(null, new TrustManager[]{trustManager}, null); SSLConnectionSocketFactory socketFactory new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE); // 创建Registry RequestConfig requestConfig RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARDSTRICT) .setExpectContinueEnabled(Boolean.TRUE).setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST)) .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build(); Registry socketFactoryRegistry RegistryBuilder. create() .register("http", PlainConnectionSocketFactory.INSTANCE) .register("https", socketFactory).build(); // 创建ConnectionManager,添加Connection配置信息 PoolingHttpClientConnectionManager connectionManager new PoolingHttpClientConnectionManager(socketFactoryRegistry); CloseableHttpClient closeableHttpClient HttpClients.custom().setConnectionManager(connectionManager) .setDefaultRequestConfig(requestConfig).build(); return closeableHttpClient; } catch (KeyManagementException ex) { throw new RuntimeException(ex); } catch (NoSuchAlgorithmException ex) { throw new RuntimeException(ex); } } public Response doGet(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); //创建HttpGet远程连接实例 HttpGet httpGet; if (StringUtils.isNotEmpty(this.afterQuery)) { httpGet new HttpGet(this.url + "?" + this.afterQuery); } else { httpGet new HttpGet(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpGet.setHeader("ContentType", this.contentType); httpGet.setHeader("ctyuneoprequestid", this.uuId); httpGet.setHeader("EopAuthorization", getSign(eopDate)); httpGet.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpGet.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpGet.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpGet实例设置配置 httpGet.setConfig(requestConfig); // 执行get请求得到返回对象 response httpClient.execute(httpGet); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response sendJsonByGetReq(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { Response result new Response(); CloseableHttpClient client null; CloseableHttpResponse response null; try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL client sslClient(); } else { client HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建HttpGetWithEntity远程连接实例 HttpGetWithEntity httpGetWithEntity; if (StringUtils.isNotEmpty(this.afterQuery)) { httpGetWithEntity new HttpGetWithEntity(this.url + "?" + this.afterQuery); } else { httpGetWithEntity new HttpGetWithEntity(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为HttpGetWithEntity实例设置配置 httpGetWithEntity.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpGetWithEntity.setHeader("ContentType", this.contentType); httpGetWithEntity.setHeader("ctyuneoprequestid", this.uuId); httpGetWithEntity.setHeader("EopAuthorization", getSign(eopDate)); httpGetWithEntity.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpGetWithEntity.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpGetWithEntity.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); HttpEntity httpEntity new StringEntity(body, Charset.forName("UTF8")); httpGetWithEntity.setEntity(httpEntity); //执行请求操作,并拿到结果(同步阻塞) response client.execute(httpGetWithEntity); //获取结果实体 HttpEntity entity response.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! client) { try { client.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doPost(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse httpResponse null; Response result new Response(); try { // 创建httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpPost远程连接实例 HttpPost httpPost; if (StringUtils.isNotEmpty(this.afterQuery)) { httpPost new HttpPost(this.url + "?" + this.afterQuery); } else { httpPost new HttpPost(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为httpPost实例设置配置 httpPost.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpPost.setHeader("ContentType", this.contentType); httpPost.setHeader("ctyuneoprequestid", this.uuId); httpPost.setHeader("EopAuthorization", getSign(eopDate)); httpPost.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpPost.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpPost.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 为httpPost设置封装好的请求参数 StringEntity data new StringEntity(body, Charset.forName("UTF8")); httpPost.setEntity(data); // httpClient对象执行post请求,并返回响应参数对象 httpResponse httpClient.execute(httpPost); // 从响应对象中获取响应内容 HttpEntity entity httpResponse.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : httpResponse.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doPut(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse httpResponse null; Response result new Response(); try { // 创建httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建HttpPut远程连接实例 HttpPut httpPut; if (StringUtils.isNotEmpty(this.afterQuery)) { httpPut new HttpPut(this.url + "?" + this.afterQuery); } else { httpPut new HttpPut(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为httpPost实例设置配置 httpPut.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(20321900,01,05); httpPut.setHeader("ContentType", this.contentType); httpPut.setHeader("ctyuneoprequestid", this.uuId); httpPut.setHeader("EopAuthorization", getSign(eopDate)); httpPut.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpPut.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpPut.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 为httpPost设置封装好的请求参数 StringEntity data new StringEntity(body, Charset.forName("UTF8")); httpPut.setEntity(data); // httpClient对象执行post请求,并返回响应参数对象 httpResponse httpClient.execute(httpPut); // 从响应对象中获取响应内容 HttpEntity entity httpResponse.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : httpResponse.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doPatch(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse httpResponse null; Response result new Response(); try { // 创建httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建HttpPatch远程连接实例 HttpPatch httpPatch; if (StringUtils.isNotEmpty(this.afterQuery)) { httpPatch new HttpPatch(this.url + "?" + this.afterQuery); } else { httpPatch new HttpPatch(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为httpPost实例设置配置 httpPatch.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpPatch.setHeader("ContentType", this.contentType); httpPatch.setHeader("ctyuneoprequestid", this.uuId); httpPatch.setHeader("EopAuthorization", getSign(eopDate)); httpPatch.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpPatch.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpPatch.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 为httpPost设置封装好的请求参数 StringEntity data new StringEntity(body, Charset.forName("UTF8")); httpPatch.setEntity(data); // httpClient对象执行post请求,并返回响应参数对象 httpResponse httpClient.execute(httpPatch); // 从响应对象中获取响应内容 HttpEntity entity httpResponse.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : httpResponse.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doDelete(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpGet远程连接实例 HttpDelete httpDelete; if (StringUtils.isNotEmpty(this.afterQuery)) { httpDelete new HttpDelete(this.url + "?" + this.afterQuery); } else { httpDelete new HttpDelete(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpDelete.setHeader("ContentType", this.contentType); httpDelete.setHeader("ctyuneoprequestid", this.uuId); httpDelete.setHeader("EopAuthorization", getSign(eopDate)); httpDelete.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpDelete.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpDelete.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpGet实例设置配置 httpDelete.setConfig(requestConfig); // 执行get请求得到返回对象 response httpClient.execute(httpDelete); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response sendJsonByDeleteReq(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpGet远程连接实例 HttpDeleteWithBody delete; if (StringUtils.isNotEmpty(this.afterQuery)) { delete new HttpDeleteWithBody(this.url + "?" + this.afterQuery); } else { delete new HttpDeleteWithBody(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); delete.setHeader("ContentType", this.contentType); delete.setHeader("ctyuneoprequestid", this.uuId); delete.setHeader("EopAuthorization", getSign(eopDate)); delete.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { delete.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : delete.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); HttpEntity httpEntity new StringEntity(body, Charset.forName("UTF8")); delete.setEntity(httpEntity); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpGet实例设置配置 delete.setConfig(requestConfig); // 执行get请求得到返回对象 response httpClient.execute(delete); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doHead(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpHead远程连接实例 HttpHead httpHead; if (StringUtils.isNotEmpty(this.afterQuery)) { httpHead new HttpHead(this.url + "?" + this.afterQuery); } else { httpHead new HttpHead(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpHead.setHeader("ContentType", this.contentType); httpHead.setHeader("ctyuneoprequestid", this.uuId); httpHead.setHeader("EopAuthorization", getSign(eopDate)); httpHead.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpHead.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpHead.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpHead实例设置配置 httpHead.setConfig(requestConfig); // 执行head请求得到返回对象 response httpClient.execute(httpHead); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } private String toHex(byte[] data) { StringBuilder sb new StringBuilder(data.length 2); byte[] var2 data; int var3 data.length; for (int var4 0; var4 2) { String encodeStr null; encodeStr URLEncoder.encode(s[1], "UTF8"); str s[0] + "" + encodeStr; afterQuery afterQuery + str; } else { String encodeStr ""; str s[0] + "" + encodeStr; afterQuery afterQuery + str; } } else { String[] s str.split(""); if (s.length > 2) { String encodeStr URLEncoder.encode(s[1], "UTF8"); str s[0] + "" + encodeStr; afterQuery afterQuery + "&" + str; } else { String encodeStr ""; str s[0] + "" + encodeStr; afterQuery afterQuery + "&" + str; } } } } } catch (Exception e) { e.printStackTrace(); } return afterQuery; } } 3. HexUtils.java plaintext package com.ffcs.ebp.ebpsdk; public class HexUtils { private static final char[] HEXES { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; / byte数组 转换成 16进制小写字符串 / public static String bytes2Hex(byte[] bytes) { if (bytes null bytes.length 0) { return null; } StringBuilder hex new StringBuilder(); for (byte b : bytes) { hex.append(HEXES[(b >> 4) & 0x0F]); hex.append(HEXES[b & 0x0F]); } return hex.toString(); } / 16进制字符串 转换为对应的 byte数组 / public static byte[] hex2Bytes(String hex) { if (hex null hex.length() 0) { return null; } char[] hexChars hex.toCharArray(); byte[] bytes new byte[hexChars.length / 2]; // 如果 hex 中的字符不是偶数个, 则忽略最后一个 for (int i 0; i headerMap new HashMap<>(); // headerMap.put("queryMetricDataInfo", "{"regionId":"cnsz1","dim":"instanceid,98cdcc8a8e544788ab9cc94ccee429c7","filter":"average","from":"1658473040","to":"1658473040","metricName":"netbitRecv","namespace":"AGT.ECS","period":"1"},"platform":"3"}"); // headerMap.put("platform", "3"); // headerMap.put("consoleUrl", " // headerMap.put("UserAgent", "3333433"); // headerMap.put("XForwardedFor", "1231313"); // headerMap.put("regionId", "100054c0416811e9a6690242ac110002"); // headerMap.put("prodInstId","9dcaf0157c604100af79bdb8271527bc"); //请求地址 String url " //query参数(?后面拼接的参数。没有就不填) aaaa&bbbb String queryStr "regionID41f64827xxxxxxxxxffa3a5deb5d15d"; //body参数(没有就不填) String body ""; //APPID String ak "9f82cacd3f8235c66edfs5e899f098e6"; //appkey String sk "MlgzESz430hJgTzA4lkjuJvDMMLTqwBQRicVqV62VM"; String uuId UUID.randomUUID().toString(); //连接超时 int connectTimeout 35000; //连接请求超时 int connectionRequestTimeout 35000; //socket超时 int socketTimeout 60000; YunSign yunSign new YunSign(url, ak, sk, uuId, body, temp, contentType, queryStr, headerMap); Response response yunSign.toDo(method, connectTimeout, connectionRequestTimeout, socketTimeout); System.out.println("应答头部 "); for (Map.Entry entry : response.getHeaders().entrySet()) { System.out.println(entry.getKey().toString() + ":" + entry.getValue().toString()); } System.out.println(); System.out.println("请求结果 "); System.out.println(response.getBody()); } }
        来自:
      • 自主访问权限控制
        本页介绍天翼云TeleDB数据库自主访问权限控制。 权限管理 TeleDB采用三权分立体系,将数据库系统角色分为安全员、审计员和管理员。每个角色都被赋予不同的权限,三个角色相互独立、相互制约,从而消除系统中的超级权限,从系统角色设计上保障数据安全。 安全员 负责独立完成安全策略制定,包括强制访问、脱敏和加密策略。 审计员 负责独立完成审计策略制定,所有操作都可以被审计,包括审计员操作记录。 管理员 具备自主访问控制权限、运维权限,但不可干预安全员和审计员的操作。 TeleDB管控台用户账号密码管理 TeleDB支持对管控台账号进行定期检查,检查内容包括: 兼容四位版本解析。 账号名命名的规范性。 离职用户账号、临时账号是否有及时删除或禁止。 角色权限设置是否合理。 导出近3个月控制台日志,查阅是否有未预估的操作。 独立设置账号权限的,权限范围。 密码设置要求:禁止使用弱密码,密码必须超过8个字符,包含大小写英文字母、数字、特殊字符,其中特殊字符至少3个。 说明 安装完成后,为了确保数据库安全,建议删除管理系统和内核初始账号或修改初始密码。 TeleDB管控台角色管理 您可通过如下操作对角色权限进行管理。 1. 以用户名和密码登录TeleDBDCP数据库管理平台。 2. 在左侧导航树选择安全中心 > 角色管理 ,进入角色管理页面 3. 创建角色 (1) 在角色管理页面,单击创建角色,出现创建角色弹框。 (2) 在创建角色弹框,输入角色名称,权限类型选择TeleDB,勾选对应的权限,单击确定,完成权限的添加。 4. 编辑角色 单击目标角色所在的编辑按钮,修改对应的权限。 5. 删除角色 单击目标角色所在行的删除按钮,即可删除对应的权限。 6. 查看角色详情 单击目标角色所对应的详情,即可查看该角色所对应的具体权限。 7. 查看角色列表。 您可根据权限名称和角色进行搜索。 说明 权限包括超级管理员、租户管理员、操作员、管理员、只读和自定义。 数据库账号密码管理 账户和密码是连接数据库实例的凭证,客户端凭据账户和密码连接数据库实例时,服务器会判断用户身份,并分发对应的权限给客户端,与管控的账号和密码没有必然联系。 为保证连接实例的账户和密码安全性,有如下安全限制: 账号最多16个字符长度,建议由字母、数字、下划线组成,字母开头,字母或数字结尾。 如设置账号为临时账号,支持设置账号的过期时间,支持限制周期1天、7天、31天、90天以及永不过期。 密码应由864个字符组成,必须包含大小写英文字母、数字、特殊字符,其中特殊字符至少3个。 密码用password()函数转换成长度为40的字符串后存入系统表中,使用安全Hash算法。 系统根据规则提供随机密码。支持切换为弱密码模式,弱密码模式为不存在上述限制要求,该模式开启后存在安全风险,不建议开启。 密码最长使用期限不超过90天,建议每3个月更换一次账号密码。 限制客户端的IP连接方式,支持 IP、IP 段、%三种形式。 限制账户的最大并发连接数,0代表无限制。 限制账号读写方式,根据业务场景选择正常账号、只读账号、DCN读写分离账号。
        来自:
        帮助文档
        分布式融合数据库HTAP
        私有云产品
        安全配置手册
        访问控制
        自主访问权限控制
      • 功能特性
        入侵防御 基于状态、精准的高性能攻击检测和防御 实时攻击源阻断、IP屏蔽、攻击事件记录 支持针对HTTP、SMTP、IMAP、POP3、VOIP等几十种协议和应用的攻击检测和防御 支持自定义入侵防御特征 提供预定义防御配置模板 提供几千种特征的攻击检测和防御,特征库支持网络实时更新 病毒过滤 基于流、低延时、高并发、高性能的病毒过滤 支持大病毒文件的扫描 实时病毒连接阻断,病毒事件记录 支持常见病毒传输协议HTTP、FTP及各种邮件协议扫描 超千万级的病毒特征库,病毒库可以在线更新、本地更新 数据安全 支持基于文件类型、文件大小、文件名称进行数据传输安全控制 支持HTTP、FTP、SMTP、POP3、SMB协议文件传输的识别 支持近百种主流文件类型的特征码及后缀名双重识别 僵尸网络C2 防御 通过监控C&C连接发现内网肉鸡,阻断僵尸网络/勒索软件等高级威胁进一步破坏 定期僵尸网络服务器地址升级更新 支持C&C IP和域名两种方式检测 支持TCP和HTTP、DNS协议检测
        来自:
        帮助文档
        云下一代防火墙(文档停止维护)
        产品简介
        功能特性
      • 开源组件端口列表
        Kafka常用端口 版本:2.8.1 配置参数 默认参数 当前配置端口 端口说明 com.sun.management.jmxremote.port 8096 kafka broker jmx 端口 zookeeper.connect 2181 2181 连接zk client端口 listeners(SASLPLAINTEXT) 9092 9092 kafka SASLPLAINTEXT 端口 listeners(PLAINTEXT) 9091 9091 kafka PLAINTEXT 端口 Spark常用端口 版本:3.2.2 配置参数 默认参数 当前配置端口 端口说明 spark.yarn.historyServer.address 18081 spark history webUI端口 spark.shuffle.service.port 7337 7337 spark shuffle 端口 spark.ui.port 4040 4040 应用 dashboard UI端口 ZooKeeper常用端口 版本:3.7.1 配置参数 默认参数 当前配置端口 端口说明 admin.serverPort 8080 8080 zk admin 服务端口 clientPort 2181 2181 连接zk client端口 com.sun.management.jmxremote.port 2182 2182 zk jmx 端口 server.x 2888:3888;2181 2888:3888;2181 zk 服务端口、选举leader端口,client端口。 Kerberos常用端口 配置参数 默认端口 当前配置端口 端口说明 kdcports 88 88 kdc 端口 ipropport 744 744 iprop 端口 kpasswd 464 464 kpasswd 端口 adminserver 749 749 kerberos admin server 端口
        来自:
        帮助文档
        翼MapReduce
        用户指南
        访问组件Web页面
        开源组件端口列表
      • 客户端安装
        本页介绍了如何客户端安装。 如何安装MongoDB客户端 操作步骤 1. 下载MongoDB二进制包。 1. 前往MongoDB官方网站下载MongoDB客户端的二进制包。 2. 上传二进制包到云服务器。 1. 使用SSH或其他远程连接工具登录到您的云服务器。 2. 将下载的MongoDB二进制包上传到云服务器上,您可以使用SCP或者其他文件传输工具进行上传。 3. 解压和安装。 1. 在天翼云,云服务器上解压上传的MongoDB二进制包: 2. tar zxvf mongodblinuxx8664.tgz (是您下载的MongoDB版本号) 3. 将解压后的MongoDB二进制文件夹移动到合适的位置,比如/usr/local目录: bash mv mongodblinuxx8664 /usr/local/mongodb 4. 其中,常用工具包含如下: 1. MongoDB客户端mongo。 2. 数据导出工具mongoexport。 3. 数据导入工具mongoimport。 4. 使用客户端工具前,需要对工具赋予执行权限。 1. 执行 chmod +x mongo ,赋予连接实例的权限。 2. 执行 chmod +x mongoexport,赋予导出数据的权限。 3. 执行 chmod +x mongoimport ,赋予导入数据的权限。
        来自:
        帮助文档
        文档数据库服务
        常见问题
        操作类
        客户端安装
      • DRDS事务模型
        XA示例 以下是业务连接DRDS的事务示例。 sql public static final String url "jdbc:mysql://127.0.0.1/employee"; public static final String name "com.mysql.jdbc.Driver"; public static final String user "drdsUser"; public static final String password ""; Class.forName (name);//指定连接类型 try (Connection conn DriverManager. getConnection (drdsUrl, drdsUser, password)) { //开启事务,获取DRDS事务全局唯一的xid try (Resul tSet set statement. executeQuery(”UDAL XA START”)){ while (set.next()) { xidset.getString(1); } } st. execute("insert into custamr values (id, name) (1,"test1") ;");//分片1执行语句 st. execute("insert into custamr values (id, name) (2,"test1") ;");//分片2执行语句 conn.commit() //事务提交 }catch (SQLException e) { conn. rollback(); } 建议 解决分布式事务的推荐方法就是尽量规避分布式事务,事务边界越大(或者单个SQL所执行的数据分片数),那么系统的锁冲突概率越高,系统越难以扩展,性能越低。因此,若想将系统做到很好的扩展性,那么一个重要的原则就是想办法划小事务边界,并尽可能让事务的边界限制在单台机器内。
        来自:
        帮助文档
        分布式关系型数据库
        最佳实践
        DRDS事务模型
      • 代理版本升级
        布式缓存Redis读写分离或Proxy集群类型实例创建后,支持在控制台上升级实例的代理版本。 前提条件 1. Redis缓存实例处于“运行中”状态。 2. Redis缓存实例类型为读写分离或Proxy集群。 影响须知 代理版本升级不会更改实例的规格,仅升级代理的版本。 代理版本升级时会出现1~3次30秒内的连接闪断。 代理版本执行升级一般需要几分钟,升级期间控制台其他功能不可用,建议在业务低峰期操作。 升级完成后,实例的实例ID、连接地址、数据、白名单配置以及已创建的账号密码配置等均不会改变。 操作步骤 1. 登录 Redis管理控制台。 2. 在管理控制台左上角选择实例所在的区域。 3. 在实例列表页,单击目标实例名称进入实例详情页面。 4. 在实例详情页面,点击代理版本后的“升级”按钮,选择需要升级的版本,点击升级,提交升级任务。 说明: 如果代理版本后没有升级按钮,表明该实例没有可升级的代理版本。 5. 升级一般需要几分钟完成。
        来自:
        帮助文档
        分布式缓存服务Redis版
        用户指南
        实例生命周期管理
        代理版本升级
      • 实例小版本升级
        分布式缓存Redis缓存实例创建后,支持在控制台上升级实例的Redis小版本。目前仅部分Redis内核支持部分小版本升级。 前提条件 1. Redis缓存实例处于“运行中”状态。 影响须知 实例小版本升级不会更改实例的规格,仅升级Redis内核的小版本。 实例小版本执行升级时会出现1~2次30秒内的连接闪断。 实例小版本执行升级一般需要几分钟,升级期间控制台其他功能不可用,建议在业务低峰期操作。 升级完成后,实例的实例ID、连接地址、数据、白名单配置以及已创建的账号密码配置等均不会改变。 操作步骤 1. 登录 Redis管理控制台。 2. 在管理控制台左上角选择实例所在的区域。 3. 在实例列表页,单击目标实例名称进入实例详情页面。 4. 在实例详情页面,点击“小版本升级”按钮,选择需要升级的版本,点击保存,提交升级任务。 说明: 如果没有小版本升级按钮,表明该实例引擎没有可升级的小版本。 5. 升级一般需要几分钟完成。
        来自:
        帮助文档
        分布式缓存服务Redis版
        用户指南
        实例生命周期管理
        实例小版本升级
      • 准备工作
        。 3. 初始化系统参数 plaintext su teledb cd /etc/security 在/etc/security/limits.conf文件中最后一部分,添加如下内容。 plaintext teledb soft nofile 131072 teledb hard memlock 128849018880 teledb soft memlock 128849018880 teledb soft core 1024000 teledb hard core 1024000 teledb hard nproc unlimited teledb soft nproc unlimited teledb hard nofile 131072 teledb hard stack unlimited teledb soft stack unlimited 4. 执行如下命令 plaintext echo vm.swappiness10 >> /etc/sysctl.conf sysctl w vm.swappiness10 echo vm.minfreekbytes102400 >> /etc/sysctl.conf sysctl w vm.minfreekbytes102400 5. 进入/etc/sudoers文件,添加权限 在rootALL(ALL)ALL一行下面添加如下内容。 plaintext teledb ALL(ALL) NOPASSWD:ALL 6. 修改挂载目录权限 执行如下命令,修改成可读写运行权限 plaintext sudo chmod 777 /app 执行如下命令,修改/app目录下文件所属用户。 plaintext sudo chown R teledb:teledb /app 3. (可选)创建软连接 执行如下命令创建软连接 plaintext cd /usr/local/bin ln s /usr/sbin/ip ip ln s /usr/sbin/sysctl sysctl ln s /usr/sbin/userdel userdel ln s /usr/sbin/useradd useradd
        来自:
        帮助文档
        分布式融合数据库HTAP
        私有云产品历史版本
        V4.0.0版本产品文档
        安装部署手册
        安装前准备
        准备工作
      • 如何选择数据库安全审计的Agent安装节点?
        Agent安装节点 使用场景 审计功能说明 注意事项 数据库端 ECS/BMS自建数据库 可以审计所有访问该数据库的应用端的所有访问记录。 添加Agent时,“安装节点类型”选择“数据库端”。 应用端 无法登录到数据库节点的部署环境(例如,RDS关系型数据库) 可以审计该应用端与其连接的所有数据库的访问记录。 l 添加Agent时,“安装节点类型”选择“应用端”,如图410所示。 l 当某个应用端连接了多个数据库时,如果该应用端的某个数据库已在应用端添加了Agent。其他数据库在添加Agent时,只需要选择“选择已有Agent”添加方式。 代理端 无法登录到数据库节点,且不能在应用端安装Agent的部署环境(例如,RDS关系型数据库且应用端在云下) 只能审计代理与后端数据库之间的访问记录,无法审计应用端与后端数据库的访问记录。 添加Agent时,需要将该代理端作为应用端,即“安装节点类型”选择“应用端”,且“安装节点IP”需要配置为该代理的IP地址。
        来自:
        帮助文档
        数据库安全
        常见问题
        Agent相关
        如何选择数据库安全审计的Agent安装节点?
      • 访问时页面提示“请确认是否安装访问插件”如何处理?
        本小节介绍云堡垒机使用RDP连接到服务器连接失败问题操作指导。 运维用户登录云堡垒机控制台后,窗口弹出“若访问失败,请确认是否安装访问插件”,这说明用户第一次在当前终端还未安装云堡垒机客户端插件,需要下载并安装。 云堡垒机客户端插件是天翼云堡垒机产品重要组成部分之一,支撑客户端工具运维和web网页运维代理、资源免密单点登录登重要功能。用户需要点击运维设置访问插件 按钮下载并安装插件。 操作步骤 1. 运维用户登录云堡垒机实例控制台。 2. 访问控制台运维设置访问插件,点击访问插件按钮下载客户端插件。 3. 下载完成后,安装客户端插件。 4. 设置运维客户端本地安装路径,点击运维客户端路径配置,配置您的运维工具本地路径。 配置完成后,下次你登录云堡垒机后就可直接点击客户端工具图标,直接开始运维你权限内的资产。
        来自:
        帮助文档
        云堡垒机(原生版)
        常见问题
        操作类
        访问时页面提示“请确认是否安装访问插件”如何处理?
      • 集群架构
        本文介绍文档数据库集群架构的组成。 每个集群即一个独立运行的文档数据库,分片集群架构由路由(mongos)、配置(config)和分片(shard)组成。 数据读写请求经mongos分发,通过查询config信息,并行分配到相应shard,可轻松应对高并发场景,且config和shard均采用三副本架构,保证高可用,集群架构如下图所示。 图 集群架构 lmongos为单节点配置,用户可以通过多个mongos实现负载均衡及故障转移,单个集群实例可支持2~16个mongos节点。 lshard节点是分片服务器,当前架构是三节点副本集。单个集群版实例可支持2~16个shard节点。 lconfig为集群必备组件,负责存储实例的配置信息,由1个副本集构成。 支持通过控制台新增mongos和shard节点,不支持通过原生命令新增节点。 用户不可以直接连接访问config和shard节点,所有数据操作均需要连接mongos进行下发。 目前不支持将现有三节点副本集直接升级到集群模式。
        来自:
        帮助文档
        文档数据库服务
        产品介绍
        系统架构
        集群架构
      • 修改读写分离地址
        本章节会介绍如何修改读写分离地址 操作场景 用户开启读写分离后,支持修改读写分离地址。 注意事项 修改读写分离地址,数据库连接会中断,导致业务中断,请在业务低峰期或者在业务停止期间进行。 约束限制 修改的IP地址也需要在RDS for MySQL实例所在的子网内,并且未使用。 操作步骤 对于开启读写分离的关系型数据库实例,支持更改读写分离地址。 1、登录管理控制台。 2、单击管理控制台左上角的,选择区域和项目。 3、选择“数据库 > 关系型数据库”。进入关系型数据库信息页面。 4、在“实例管理”页面,选择指定的实例,单击实例名称,进入实例基本信息页面。 5、在“基本信息”页“连接信息”模块“读写分离地址”处,单击“修改”。 您也可以在左侧导航栏,单击“数据库代理”,在“读写分离”页面中,在“读写分离地址”处,单击“修改”。 6、在“修改读写分离地址”弹出框中进行修改。单击“确定”,保存修改内容。 7、已使用IP地址,不能再作为实例的新读写分离地址。
        来自:
        帮助文档
        关系数据库MySQL版
        用户指南
        数据库代理(读写分离)
        修改读写分离地址
      • 管理SNAT规则
        参数 参数说明 源网段类型 选择VPC内子网:选择现有子网,使子网内云主机通过SNAT方式访问云资源。手动输入自定义网段:自定义一个网段,使网段内服务器或云主机通过SNAT方式访问云资源。 子网/源网段 子网为需要关联的VPC中的子网,只能在未设置SNAT规则的子网下创建SNAT规则。源网段为自定义网段或某个主机地址,支持配置0.0.0.0/0的地址段,为所有经过私网NAT网关的报文进行源地址转换。 中转IP 用于NAT地址转换的IP地址,NAT网关根据对应规则会把通过NAT网关的报文的源地址更换为中转IP地址; 只能使用未绑定的中转IP或者被绑定在当前NAT网关中SNAT或DNAT规则上的中转IP。若无符合条件的中转IP,您可前往创建中转IP后,刷新即可。 选择多个中转IP时,业务连接会通过轮询方式分配到多个中转IP,由于每个连接的流量不同,可能会出现多中转IP业务流量不均匀的情况;并且同一个内网IP访问单一目的IP,可能使用不同的中转IP。访问单一目标的并发连接数过多时,会造成端口分配失败,需持续监控 描述 SNAT规则信息描述。
        来自:
        帮助文档
        NAT网关
        操作指南
        私网NAT网关
        管理SNAT规则
      • 违规整改帮助
        清理违规内容 您可根据管控通知、或联系客服了解管控原因、获取存在违规信息的具体链接,然后参考《++安全违规信息类型说明++》进一步排查定位违规内容,并自行完成清理。 若您的对象存储OSS文件由于违规信息被冻结或限制访问,可直接删除违规文件。 清理挖矿程序 1. 挖矿程序一般很难清理,强烈建议您在++备份重要数据++后,重新初始化云盘 ,可确保完全清理挖矿程序。 2. 您也可以按以下步骤对您的服务进行排查: 排查是否有异常的CPU占用(注:挖矿木马可能不会占满您的CPU,但CPU占用会长时间持续稳定在一定水平,如20%、50%); 排查是否有异常的网络连接,如连接非常见端口、连接未知IP/海外IP等; 排查系统定时任务中是否存在未知/恶意命令。 3. 您可以免费试用服务器安全(原生版)、云防火墙(原生版),以辅助您排查挖矿活动。 服务器安全卫士(原生版)清理挖矿程序:登录服务器安全卫士(原生版)控制台→绑定防护配额→ 全盘病毒扫描→ 告警处理; 云防火墙(原生版)防止挖矿程序再植入:登录云防火墙(原生版)控制台→ 登入云防火墙(原生版)实例配置页面 → 网络 → 安全域 → 编辑安全域 → 威胁防护配置 → 打开病毒过滤,攻击防护开关。 说明 申请产品免费试用请联系客户经理,试用扫描结果仅作紧急排查辅助,不能作为唯一参考。
        来自:
        帮助文档
        法律声明
        安全管控规则
        安全违规处理帮助与常见问题
        违规整改帮助
      • 添加HTTPS监听器
        监听配置 说明 名称 设置监听器的名称,名称应为232位,英文开头,支持大小写英文和数字。 负载均衡器协议/端口 下拉列表选择HTTPS协议,输入监听端口,取值范围1~65535。 描述 可选,填写监听器描述。 高级配置 监听器的特定参数配置:HTTP2.0 HTTP2.0 选择是否开启HTTP2.0 功能,开启后,可提升客户端与负载均衡间的访问性能,负载均衡与后端云主机仍采用HTTP1.X协议。 NAT64 支持将v6地址的请求转发到v4后端主机。集群模式支持,主备、集群模式资源池列表见 请求超时时间 输入范围1~300s, 缺省60s。集群资源池支持设置HTTP请求超时时间,在请求超时时间内接收请求的后端主机无响应,负载均衡会向所有其它后端主机重试请求。如果重试所有后端主机一直没有响应,则负载均衡会给客户端返回HTTP 504错误码。主备、集群模式资源池列表见 空闲超时时间 输入范围1~300s, 缺省15s;集群模式资源池支持设置HTTP连接的空闲超时时间。在空闲超时时间后仍没有访问请求,负载均衡会中断当前连接。主备、集群模式资源池列表见 附加HTTP头字段 通过XForwardedFor获取客户端IP:开启获取客户端IP,将通过XForwardedFor头字段携带客户端源真实IP。 通过XForwardedProto获取监听协议:集群模式资源池支持XForwardedProto来获取客户端与负载均衡监听连接时所用的协议(HTTP/HTTPS)。 通过XForwardedPort获取监听端口:支持XForwardedPort获取客户端与负载均衡监听连接时所用的端口。 主备、集群模式资源池列表见 访问控制 选择是否开启访问控制。开启访问控制后,选择一种访问控制方式:黑名单、白名单。并设置访问策略组作为该监听器的白名单或黑名单。 白名单:允许特定IP访问负载均衡,仅转发来自所选访问策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。 黑名单:禁止特定IP访问负载均衡,不转发来自所选访问策略组中的IP或地址段,黑名单适用于只限制特定IP访问的场景。 双向认证 选择是否开启双向认证,支持CA证书。双向认证指的是客户端需要认证主机端真实性,同时主机端也需要认证客户端的真实性,具体可参考证书管理。 QPS限速 开启每秒查询次数QPS限速,可设置此监听服务的QPS上限,减轻高访问量服务切换过程中后端服务器压力。输入范围1~200000,单位qps(Query Per Second),缺省 10000。集群模式资源池支持设置QPS,主备、集群模式资源池列表见 WebSocket支持 当选择HTTPS监听时,默认支持加密版本的WebSocket协议(WSS协议)。仅集群模式资源池支持,主备、集群模式资源池列表见 Session Ticket Session Ticket 是TLS协议中用于会话恢复的一种机制。启用该机制,在TLS握手过程中,负载均衡器会生成一个包含会话状态的Session Ticket,并将其加密后发送给客户端。客户端在后续的连接中可以使用这个Session Ticket来快速恢复之前的会话状态,而无需再次执行完整的TLS握手过程,可以提高连接效率。目前TLS>1.1支持该功能。该功能当前处于试用阶段,如需使用请申请。仅集群模式资源池支持,主备、集群模式资源池列表见
        来自:
        帮助文档
        弹性负载均衡 ELB
        用户指南
        监听器
        添加监听器
        添加HTTPS监听器
      • 管理虚拟IP地址
        本节介绍了管理虚拟IP地址的操作场景、操作步骤。 操作场景 虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个弹性云主机的网卡绑定,从而实现多个弹性云主机之间的高可用性。 操作步骤 1. 登录管理控制台。 2. 选择“计算 > 弹性云主机”。 3. 在弹性云主机列表中,单击待绑定虚拟IP地址的弹性云主机名称。系统跳转至该弹性云主机详情页面。 4. 选择“网卡”页签,单击“管理虚拟IP地址”。 5. 选择“IP地址管理”页签,在需要绑定弹性公网IP或者弹性云主机的虚拟IP地址所在行的操作列下,单击“绑定弹性公网IP”或者“绑定弹性云主机”。 6. 多个主备部署的弹性云主机可以在绑定虚拟IP地址时选择同一个虚拟IP地址,增强容灾性能。 7. 单击“确定”。 为已绑定虚拟IP的弹性云主机手工配置虚拟IP地址。 弹性云主机的网卡绑定虚拟IP地址后,需要在弹性云主机上手工配置虚拟IP地址。 Linux系统(本文以“CentOS 7.2 64bit”为例,其他规格请参考对应官网帮助文档) a. 执行以下命令,查看并记录需要绑定虚拟IP的网卡及对应连接。 nmcli connection 回显类似如下信息: 本示例的回显信息说明如下: DEVICE列的eth0为需要绑定虚拟IP的网卡。 NAME列的Wired connection 1为网卡对应的连接。 b. 执行以下命令,在目标连接中添加虚拟IP。 nmcli connection modify "CONNECTION" ipv4.addresses VIP 参数说明如下: CONNECTION:为7.a中查到的网卡对应的连接。 VIP:待添加的虚拟IP地址。 n 如果一次添加多个虚拟IP地址,多个虚拟IP地址之间用“,”隔开。 n 如果已有虚拟IP地址,此时还需要新增虚拟IP地址,那么命令中除了包含新的虚拟IP地址,也需要包含原有虚拟IP地址。 命令示例: 添加单个虚拟IP:nmcli connection modify "Wired connection 1" ipv4.addresses 172.16.0.125 添加多个虚拟IP:nmcli connection modify "Wired connection 1" ipv4.addresses 172.16.0.125,172.16.0.126 c. 执行以下命令,使7.b的配置生效。 nmcli connection up "CONNECTION" 命令示例: nmcli connection up "Wired connection 1" 回显类似如下信息: d. 执行以下命令,检查虚拟IP配置是否成功。 ip a 回显类似如下信息,可以看到eth0网卡下存在虚拟IP地址,为172.16.0.125。 Windows系统(本文以“Windows Server”为例) a. 在“控制面板 > 网络和共享中心”路径下,单击对应的本地连接。 b. 在打开的本地连接页面中,单击“属性”。 c. 在“网络”页签中选择“Internet 协议版本 4 (TCP/IPv4)”。 d. 单击“属性”。 e. 选择“使用下面的IP地址”,IP地址配置为弹性云主机的私有IP地址,例如:10.0.0.101。 配置私有IP地址 f. 单击“高级”。 g. 在“IP设置”页签内“IP地址”区域,单击“添加”。 添加虚拟IP地址,例如:10.0.0.154。 配置虚拟IP地址 h. 单击“确定”,保存更改。 i. 在“开始”菜单中打开Windows命令行窗口,执行以下命令确认是否配置了虚拟IP地址。 ipconfig /all 回显样例中IPv4 Address包含虚拟IP地址10.0.0.154,表示弹性云主机内部网卡的虚拟IP地址配置正常。
        来自:
        帮助文档
        弹性云主机 ECS
        用户指南
        网卡
        管理虚拟IP地址
      • 短视频场景下的QUIC实践
        本文介绍QUIC协议在短视频加速的应用实践。 背景信息 QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。Google推出的QUIC被称为GQUIC,IETF制定的QUIC称为IQUIC。 QUIC的主要优势如下: 1. 握手建连更快。 2. 避免队首阻塞的多路复用。 3. 支持连接迁移。 4. 可插拔的拥塞控制。 5. 前向纠错(FEC)。 协议详细介绍,详情请见:HTTP3.0(QUIC)协议。 适用场景 1. 图片业务:可降低图片加载时间。 2. 短视频业务:可提升视频秒开率,并且降低弱网环境卡顿率。 3. 直播业务:可提升播放稳定性,降低因网络波动带来的卡顿率。 如何验证CDN已开启QUIC功能 QUIC协议暂不支持客户自助开启,如需使用,请通过提交工单给天翼云客服,由其人工操作开启。 QUIC属于双边协议,需要客户端同步支持。如您已开通QUIC功能,可以使用Chrome浏览器或者基于Chrome内核的浏览器来访问对应网站域名,并在浏览器开启开发者工具进行抓包验证。目前较新版本的Chrome浏览器已默认开启QUIC。 一般情况下,Chrome浏览器和服务器端协商使用QUIC协议要经过如下步骤: 1. 首次访问,客户端会先发起正常的TCP请求。 2. 服务端如果支持QUIC,会通过响应头部返回altsvc信息告知客户端自己支持QUIC及对应版本(如下图),其含义是服务器在443端口开启QUIC,最大缓存时间是2592000秒(30天),支持的QUIC版本IQUIC。 3. 下次访问,客户端会同时发起TCP连接和QUIC连接进行竞速。 4. 一旦QUIC竞速连接获胜,则后续会采用QUIC协议发送请求,如果在浏览器进行抓包(快捷键F12打开开发者工具),可在Protocol列查看其具体的协议,如下图所示,这里显示的h3即表示采用的是IQUIC。 注意 如果没有Protocol列,右键点击Header Options,勾选Protocol列即可。 5. 如遇网络或服务器不支持QUIC,客户端标记QUIC为broken。 6. 传输中的QUIC请求立即用TCP进行重发。 7. 5min后尝试重试QUIC,下一次尝试增大到10min。 8. 一旦再次成功采用QUIC,会把broken标记取消。
        来自:
        帮助文档
        CDN加速
        最佳实践
        短视频场景下的QUIC实践
      • 开启防护自动检查
        参数 是否必填 参数类型 说明 示例 下级对象 vpcId 是 String natId scenarioType 是 String 场景类型nat;vpcPeer对等连接;cda云专线;ec云间高速 scenarioId 是 String 场景id
        来自:
        帮助文档
        云防火墙(原生版)
        API参考
        API
        2023-10-16
        防火墙管理
        防护开关
        开启防护自动检查
      • 约束与限制
        本章节主要介绍约束与限制。 CDM系统级限制和约束 1. 集群创建好以后不支持修改规格,如果需要使用更高规格的,需要重新创建一个集群。 2. ARM版本的CDM集群不支持Agent功能。CDM集群为ARM或X86版本,依赖于底层资源的架构。 3. CDM暂不支持控制迁移数据的速度,请避免在业务高峰期执行迁移数据的任务。 4. 当前CDM集群cdm.large实例规格网卡的基准/最大带宽为0.8/3 Gbps,单个实例一天传输数据量的理论极限值在8TB左右。同理,cdm.xlarge实例规格网卡的基准/最大带宽为4/10 Gbps,理论极限值在40TB左右;cdm.4xlarge实例规格网卡的基准/最大带宽为36/40 Gbps,理论极限值在360TB左右。对传输速度有要求的情况下可以使用多个数据集成实例实现。上述数据量为理论极限值,实际传输数据量受数据源类型、源和目的数据源读写性能、带宽等多方面因素制约,实测cdm.large规格最大可达到约8TB每天(大文件迁移到OBS场景)。推荐用户在正式迁移前先用小数据量实测进行速度摸底。 5. 迁移文件或对象时支持文件级增量迁移(通过配置跳过重复文件实现),但不支持断点续传。例如要迁移3个文件,第2个文件迁移到一半时由于网络原因失败,再次启动迁移任务时,会跳过第1个文件,从第2个文件开始重新传,但不能从第2个文件失败的位置重新传。 6. 文件迁移时,单个任务支持千万数量的文件,如果待迁移目录下文件过多,建议拆分到不同目录并创建多个任务。 7. 用户在CDM上配置的连接和作业支持导出到本地保存,考虑到密码的安全性,CDM不会将对应数据源的连接密码导出。因此在将作业配置重新导入到CDM前,需要手工编辑导出的JSON文件补充密码或在导入窗口配置密码。 8. 不支持集群自动升级到新版本,需要用户通过作业的导出和导入功能,实现升级到新版本。 9. 在无OBS的场景下,CDM系统不会自动备份用户的作业配置,需要用户通过作业的导出功能进行备份。 10. 如果配置了VPC对等连接,可能会出现对端VPC子网与CDM管理网重叠,从而无法访问对端VPC中数据源的情况。推荐使用公网做跨VPC数据迁移,或联系管理员在CDM后台为VPC对等连接添加特定路由。 11. CDM迁移,当目的端为DWS和NewSQL的时候,不支持将源端的主键和唯一索引等约束一起迁移过去。 12. CDM迁移作业时,需确保两个集群版本的JSON文件格式保持一致,才可以从将源集群的作业导入到目标集群。
        来自:
        帮助文档
        数据治理中心 DataArts Studio
        用户指南
        数据集成
        约束与限制
      • 添加防护对象
        本文介绍如何通过独享型接入方式将网站接入WAF进行防护。 使用独享型接入方式接入WAF前,需要先添加防护对象。 前提条件 已购买WAF独享型实例,且当前实例支持接入的防护对象数量未超过限制。 操作步骤 1. 登录天翼云控制中心。 2. 单击页面顶部的区域选择框,选择区域。 3. 在产品服务列表页,选择“安全 > Web应用防火墙(原生版)”。 4. 进入到云WAF控制台,在左侧导航栏选择“接入管理”,选择“独享型接入”页签。 5. 点击“添加防护对象”进入信息配置页,依次配置“防护对象”、“服务器配置”、“代理情况”、“负载均衡策略”等信息。 配置项说明如下: 配置项 说明 选择实例 单击“选择实例”,在弹出的选择实例对话框中,找到目标实例,单击操作列的“选择”。 防护对象 填写防护网站的域名或IP。 域名:支持添加精确域名和泛域名。 精确域名:支持多级别精确域名,例如主域名ctyun.cn、子域名www.ctyun.cn等。 泛域名:支持使用泛域名格式,例如.ctyun.cn可以匹配www.ctyun.cn、test.ctyun.cn。 说明 使用泛域名后,WAF将自动匹配该泛域名对应的所有子域名,例如,.ctyun.cn能够匹配www.ctyun.cn、test.ctyun.cn等。 泛域名不支持匹配对应的主域名,例如.ctyun.cn不能匹配ctyun.cn。 如果同时存在精确域名和泛域名,则精确域名的转发规则和防护策略优先生效。 IP:支持防护公网IP、私网IP。 当填写公网IP时,指客户端访问业务系统直接指向的弹性IP(该弹性IP可能绑定在防火墙或WAF上)。 当填写私网IP时(用于内网访问防护场景),填写内网客户端访问的内网IP(因内网访问情况下,WAF代理业务系统,此处需填写WAF代理业务系统的IP而非业务系统本身的IP,即WAF业务网卡的VIP,业务系统内网IP填写在回源IP处)。 说明 采用内部IP代理场景下,因直接通过IP访问,WAF监听对象为WAF本身的IP,为了区分不同的业务,后端多业务不能采用相同端口,例如后端两个不同的业务不能同时采用80端口,否则WAF无法判断业务需要回源到哪个端口,会导致防护无法生效;若内部WAF采用域名进行区分则可配置相同端口。 防护对象名称 自定义防护网站的显示名称。 服务器配置 单击“添加一个服务器端口组”,弹出新增服务器端口组窗口。 选择网站使用的协议类型以及对应的转发服务端口: 协议类型:HTTP/HTTPS。 端口:选中协议后,系统会对应设置默认端口,HTTP协议默认为80端口,HTTPS协议默认为443端口。 用户也可自定义选择其他端口,可选类型: 标准端口:80、8080;443、8443。 非标端口:除以上标准端口以外的端口。 说明 如果防护域名使用非标准端口,请查看WAF支持的端口。 WAF通过此处添加的端口为网站提供流量的接入与转发服务,网站域名的业务流量只通过已添加的服务端口进行转发。对于未添加的端口,WAF不会转发任何该端口的访问请求流量到源站服务器,因此这些端口的启用不会对源站服务器造成任何安全威胁。 源站地址:设置网站的源站服务器地址,支持IP地址格式和域名格式。完成接入后,WAF将过滤后的访问请求转发到此处设置的服务器地址。设置说明如下: IP地址格式:填写源站的私网IP地址。 最多支持添加40个源站IP或服务器域名。 支持同时配置IPv4和IPv6地址。 说明 如果此处配置私网IP,请确保WAF到源站的网络路径是可访问的,以便于WAF能够对流量进行监控。 域名格式:一般对应该域名在DNS服务商处配置的CNAME。使用域名格式时, WAF会将客户端请求转发到回源域名解析出来的IP地址。 权重:当负载均衡算法为“加权轮询”时生效,所有请求将此处配置的权重轮流分配给源站服务器,权重越大,回源到该源站的几率越高。 不输入则视同为最低权重1。 当输入值为0时,业务不会回源到该站点。 取值范围:0~100的正整数。 说明 当健康检查发现站点出现问题时,剩余站点将按照剩余配置权重进行动态比例变化后的结果进行回源转发,节点回源请求比例节点权重/所有权重之和。 若回源列表中所有源站健康检查均失败了,为保障业务默认通路WAF将会强制回源至回源列表中顺序为第一个的站点。 若设置多个权重为0的节点,仅会回源至列表上第一个权重为0的节点。 所有站点全部健康检查失败,会强制回配置列表第一个节点。 证书配置 若选择HTTPS协议,还需要上传证书,且证书必须正确、有效,才能保证WAF正常防护网站的HTTPS协议访问请求。 1. 点击“上传证书”,进入服务器端证书配置页面。 2. 选择证书类型,支持“通用证书”和“国密证书”。 3. 配置证书。支持证书选择、手动填写、文件上传方式: 证书选择:如您使用了证书管理服务,可通过下拉框选择已有证书。 手动填写:填写证书名称,并将与域名关联的证书文件和私钥文件的文本内容的PEM编码分别复制粘贴到证书文件和证书私钥中。 文件上传:填写证书名称,点击“上传”,将与域名关联的证书文件和私钥文件上传至平台中。 说明 手动填写需要将证书和私钥的PEM编码内容填入。 上传证书时,如果证书是.PEM/.CER/.CRT的后缀,可以直接上传;私钥文件若为.KEY/.PEM的后缀,请确保内容格式为PME编码,即可上传。 高级设置 > HTTP强制跳转 选择HTTPS后,还支持启用HTTP强制跳转功能。 HTTPS强制跳转表示将客户端的HTTP请求强制转换为HTTPS请求,默认跳转到443端口。 如果您需要强制客户端使用HTTPS请求访问网站以提高安全性,则开启该设置。 说明 只有在未选中HTTP协议时,支持开启该设置。 请确保网站支持HTTPS业务再开启该设置。开启该设置后,部分浏览器将被强制设置为使用HTTPS请求访问网站。 高级设置 > TLS协议版本和加密套件 选择证书后,需要配置TLS协议版本和加密套件。WAF默认配置的TLS协议版本为“TLS1.0及以上版本”,加密套件为“全部加密套件”。 TLS协议版本 配置说明如下,为了确保网站安全,请根据业务实际需求进行配置: 支持TLS1.0及以上版本:所有的TLS协议都可以访问网站,兼容性最高,适用于网站无安全性要求的场景。 支持TLS1.1及以上版本:WAF将自动拦截TLS1.0协议的访问请求,适用于网站安全性能要求一般的场景。 支持TLS1.2及以上版本:WAF将自动拦截TLS1.0和TLS1.1协议的访问请求,适用于网站安全性能要求很高的场景。 自定义加密协议:WAF只允许所选TLS协议访问网站。 加密套件 配置说明: 全部加密套件:兼容性较高,安全性较低。 协议版本的自定义加密套件:请谨慎选择,避免影响业务。 WAF支持的加密套件及TLS协议版本详细信息请参见WAF支持的加密套件。 高级设置 > SSL解析方式 选择HTTPS后,支持配置SSL解析方式。支持“单向认证”和“双向认证”。 说明 国密证书暂不支持双向认证。 健康检查 开启健康检查将自动移除对失效源站的转发策略,当失效源站恢复健康后将重新加入转发列表。 开启后,还需配置健康检查策略。 代理情况 选择网站业务在接入WAF前是否开启了其他代理服务(例如DDoS高防、CDN等),按实际情况选择: 否:表示WAF收到的业务请求来自发起请求的客户端。WAF直接获取与WAF建立连接的IP作为客户端IP。 是:表示WAF收到的业务请求来自其他代理服务转发,而非直接来自发起请求的客户端。 为了保证WAF可以获取真实的客户端IP进行安全分析,需要进一步设置“源IP获取方式”。 源IP获取方式:系统默认设置为“从Socket连接中获取”,您也可按实际情况,创建一个有序的判定列表,系统将从列表的第一项开始查找,若不存在或者是非法的IP格式,则尝试下一条。 其中检测末项固定为“从Socket连接中获取”。获取方式列表最多可添加5条规则,可选项如下: 从Socket连接中获取 从XFowardedFor连接中获取倒数第x层代理 从HTTP头“XClientIP”中获取 负载均衡策略 当设置了多个源站服务器地址时,需设置多源站服务器间的负载均衡算法。可选项如下: 轮询:将所有请求轮流分配给不同的源站服务器。 IP Hash:将来自同一个IP的请求定向分配给同一个源站服务器。 加权轮询:根据同一组回源地址内配置的权重进行加权回源,权重越大,回源到该源站的几率越高。 设置生效后,WAF将根据设置的负载均衡算法向多个源站地址分发回源请求,实现负载均衡。 流量标记 开启流量标记功能,WAF在转发客户端请求到源站服务器时,通过在回源请求头部添加标记字段,标记该请求经过WAF转发,可以帮助源站判断请求来源。 如果请求中存在指定标记字段,则为WAF检测后的正常请求,放行该请求;如果请求中不存在指定标记字段,则为攻击者请求,拦截该请求。 单击“添加一个标记”,添加流量标记。最多支持添加5个标记字段。 支持如下标记类型: 自定义请求Header,配置自定义Header名、Header值。 客户端真实IP,配置客户端真实IP所在的HTTP Header名。 客户端真实源端口,配置客户端真实源端口所在的HTTP Header名。 注意 请勿填写标准的HTTP头部字段,否则会导致标准头部字段内容被自定义的字段值覆盖。 回源长连接 功能开启后,支持回源长连接功能,WAF独享版最大支持50000个回源长连接。 开启“回源长连接”后,还需配置“空闲连接超时时间”,默认值为10秒,最多支持60秒。 功能关闭后,将不支持WebSocket。 说明 当针对源站健康检查失败时,WAF会主动将失效的源站剔除回源列表,并将请求按照剩余站点权重比例/轮询转发至剩余健康站点,直至该源站恢复健康。 若回源列表中所有源站健康检查均失败了,为保障业务默认通路WAF将会强制回源至回源列表中顺序为第一个的站点。 源站响应超时切换时间公式:(检查间隔 + 响应超时时间) × 请求失败失效阈值。 源站恢复切换时间公式:(检查间隔 + 响应超时时间) × 失效后恢复健康阈值。 超时配置 开启超时配置,可以配置如下超时时间: 连接超时时间:WAF转发客户端请求时,与源站建立连接的超时时间。 读连接超时时间:WAF等待源站响应的超时时间。 写连接超时时间:WAF向源站发送请求的超时时间。 以上默认值均为60秒,最短支持10秒,最长支持1200秒。 备注 防护对象的描述信息,可以自定义。 6. 配置完成后单击“保存”,返回独享型接入页面。该网站的WAF防护开关默认开启。
        来自:
        帮助文档
        Web应用防火墙(原生版)
        用户指南
        接入WAF
        网站接入WAF防护(独享型接入)
        添加防护对象
      • 禁用卷
        本节主要介绍如何使用API禁用卷。 此操作用来禁用卷。 说明 仅3.9之前版本支持。 注意 如果禁用卷的编号是0(卷的编号可以通过查询指定卷获取),禁用后: 如果客户端保持与该卷所属iSCSI target的连接,则客户端可以继续正常访问该iSCSI target下的其他卷。 如果客户端与该卷所属iSCSI target断开连接后再重新连接,可能会导致无法再正常访问该iSCSI target下的其他卷,如出现此情况,将该卷启用后即可重新正常访问。 请求语法 plaintext PUT /rest/v1/block/lun/lunName/disable HTTP/1.1 Date: date Host: ip:port Authorization: authorization 请求参数 参数 类型 描述 是否必须 lunName String 要禁用卷的卷名称。 取值:长度范围是1~16,只能由字母、数字和短横线()组成,字母区分大小写,且仅支持以字母或数字开头。 是 请求示例1 禁用卷lun02a,卷编号为0。 plaintext PUT /rest/v1/block/lun/lun02a/disable HTTP/1.1 Date: Fri, 29 Jul 2022 07: 12: 46 GMT Authorization: HBlock userName:signature Host: 192.168.0.121: 1443 ContentLength: 0 响应示例1 plaintext HTTP/1.1 200 OK xhblockrequestid: 79c24ffcf1f84c0c8a6a2250cc8ffb96 Connection: keepalive ContentType: application/json;charsetutf8 ContentLength: 151 Date: Fri, 29 Jul 2022 07: 12: 46 GMT Server: HBlock { "data": { "message": "Disable LUN lun02a successfully. This is LUN 0, if the client reconnects, it may not be able to access other LUNs of the target." } }
        来自:
        帮助文档
        存储资源盘活系统
        API参考
        卷管理
        禁用卷
      • 下载客户端
        本章节主要介绍如何下载Linux gsql客户端。 DWS 提供了与集群版本配套的客户端工具包,用户可以在DWS 管理控制台下载客户端工具包。 客户端工具包包含以下内容: 数据库连接工具Linux gsql和测试样例数据的脚本 Linux gsql是一款运行在Linux环境上的命令行客户端,用于连接DWS 集群中的数据库。 测试样例数据的脚本是执行入门示例时用的。 Windows版本gsql Windows gsql是一款运行在Windows环境上的命令行客户端,用于连接DWS 集群中的数据库。 说明 仅8.1.3.101及以上版本支持在console控制台下载。 GDS工具包 GDS工具包是数据服务工具。用户可以使用GDS工具将普通文件系统中的数据文件导入到DWS 数据库中,GDS工具包需要安装在数据源文件所在的服务器上。数据源文件所在的服务器称为数据服务器,也称为GDS服务器。 下载客户端 1. 登录DWS 管理控制台,详情请参见 集群配置章节中的 登录DWS管理控制台。 2. 在左侧导航栏中,单击“连接管理”。 3. 在“gsql命令行客户端”的下拉列表中,选择对应版本的DWS 客户端。 请根据集群版本和安装客户端的操作系统,选择对应版本。 “Redhat x8664”客户端工具支持在以下系统中使用: RHEL 6.4~7.6 CentOS 6.4~7.4 EulerOS 2.3 “SUSE x8664”客户端工具支持在以下系统中使用: SLES 11.1~11.4 SLES 12.0~12.3 “Euler Kunpeng64”客户端工具支持在以下系统中使用: EulerOS 2.8 “RedhatKunpeng64”客户端工具支持在以下系统中使用: CentOS 7.5,7.6 NeoKylin 7.6 “Microsoft Windows”客户端工具支持在以下系统中使用: Windows 7及以上 Windows Server 2008及以上 4. 单击“下载”可以下载与现有集群版本匹配的gsql。单击“历史版本”可根据集群版本下载相应版本的gsql。 如果同时拥有不同版本的集群,单击“下载”时会下载与集群最低版本相对应的客户端工具。如果当前没有集群,单击“下载”时将下载到低版本的客户端工具。DWS 集群可向下兼容低版本的客户端工具。 下表列出了下载的Linux gsql工具包中的文件和文件夹。 Linux gsql工具包目录及文件说明 文件或文件夹 说明 bin 该文件夹中包含了gsql在Linux中的可执行文件。其中包含了gsql客户端工具、GDS并行数据加载工具以及gsdump、gsdumpall和gsrestore工具。 gds 该文件夹中包括了GDS数据服务工具的相关文件,GDS工具用于并行数据加载,可将存储在普通文件系统中的数据文件导入到DWS数据库中。 lib 该文件夹中包括执行gsql所需依赖的lib库。 sample 该文件夹中包含了以下目录或文件: setup.sh:在使用gsql导入样例数据前所需执行的配置AK/SK访问密钥的脚本文件。 tpcdsloaddatafromobs.sql:使用gsql客户端导入TPCDS样例数据的脚本文件。 querysql目录:查询TPCDS样例数据的脚本文件。 gsqlenv.sh 在运行gsql前,配置环境变量的脚本文件。 下表列出了下载的Windows gsql工具包中的文件和文件夹。 Windows gsql工具包目录及文件说明 文件或文件夹 说明 x64 该文件夹中包含了64位Windows gsql执行二进制和动态库。 x86 该文件夹中包含了32位Windows gsql执行二进制和动态库。 在“集群管理”页面的集群列表中,单击指定集群的名称,再选择“集群详情”页签,可查看集群版本。
        来自:
        帮助文档
        数据仓库服务
        用户指南
        连接集群
        使用gsql命令行客户端连接集群
        下载客户端
      • 终端隔离
        基于iptables,阻断终端与任意 IP 的出入站访问,仅保留与大模型平台的连接,遏制威胁扩散;点击 可以取消当前主机的隔离。
        来自:
        帮助文档
        智算安全专区
        用户指南
        大模型安全卫士
        主机安全
        响应管理
        终端隔离
      • 软件连接器实例安装
        连接器安装选型 注意 连接器所安装部署的虚拟机或服务器需由客户自行购买提供,可根据推荐参数规格进行配置。为保障访问连接高可用,建议您一个连接器集群安装并启动至少2个服务器或虚拟机。 虚拟机或服务器配置 连接器所安装部署的虚拟机或者服务器的配置要求如下: 注意 理论转发带宽指标值,将受连接器转发链路上的带宽值以及链路上的网卡带宽性能影响,例如若需达到100Mbps的转发带宽,则需要使用千兆网卡,若需达到1000Mbps的转发带宽,则需配置使用万兆网卡,若完整访问链路需经过互联网,则将受限于连接器互联网网络的带宽峰值。 CPU核心数 内存(基于本机可用冗余内存存在差异) 磁盘 网络访问要求 理论支持转发带宽 2核 2GB 40GB 主机需要能访问公网(如百度) 200Mbps 2核 4GB 40GB 主机需要能访问公网(如百度) 400Mbps 4核 8GB 40GB 主机需要能访问公网(如百度) 800Mbps 4核 8GB(冗余内存大于4GB) 40GB 主机需要能访问公网(如百度) 1000Mbps 8核 16GB 40GB 主机需要能访问公网(如百度) 1200Mbps
        来自:
        帮助文档
        边缘安全加速平台
        零信任网络服务
        网络管理
        连接器管理
        软件连接器实例安装
      • 公网NAT网关通过多网关扩展容量
        步骤说明 通过NAT网关SNAT规则的配置,实现网关功能(此处仅为演示,也可以配置为DNAT规则)。 操作步骤 1. 登录天翼云控制中心,选择“网络>NAT网关”,进入NAT网关信息展示页面。点击NAT网关名称,进入NAT网关1详情规则页面。 2. 点击“添加SNAT规则”,弹出添加SNAT规则对话框,进行参数配置。 子网:选择要使用SNAT的对应子网。 弹性IP:选择购买的弹性IP1。 说明:选择多个弹性IP时,业务连接会通过轮询方式分配到多个弹性IP,由于每个连接的流量不同,可能会出现多弹性IP业务流量不均匀的情况,建议您将每个弹性IP加入到同一个共享带宽中以避免单弹性IP带宽达到上限导致业务受损;并且同一个内网IP访问单一目的IP,可能使用不同的EIP。访问单一目标的并发连接数过多时,会造成端口分配失败,需持续监控SNAT源端口溢出丢包数。 3. 配置好相关参数后,点击“确定”,等待SNAT规则状态变为运行中,即完成SNAT规则配置。 4. 选择“网络>NAT网关”,进入NAT网关信息展示页面。点击NAT网关名称,进入NAT网关2详情规则页面。 5. 点击“添加SNAT规则”,弹出添加SNAT规则对话框,进行参数配置。 子网:选择要使用SNAT的对应子网。 弹性IP:选择购买的弹性IP2。 6. 配置好相关参数后,点击“确定”等待SNAT规则状态变为运行中,即完成SNAT规则配置。
        来自:
        帮助文档
        NAT网关
        快速入门
        公网NAT网关
        公网NAT网关通过多网关扩展容量
      • 设置establish_timeout
        参数 是否必填 参数类型 说明 示例 下级对象 regionID 是 String 区域ID 81f7728662dd11ec810800155d307d5b listenerID 是 String 监听器ID listener2exqi1zcs8 establishTimeout 是 Integer 建立连接超时时间,单位秒,取值范围: 10 1800 10
        来自:
        帮助文档
        弹性负载均衡 ELB
        API参考
        API
        2022-09-09
        新版
        监听
        设置establish_timeout
      • 基于弹性云主机部署 WordPress 的安全防护
        更新仓库缓存: plaintext yum clean all && yum makecache 安装 MySQL 客户端: plaintext yum install y nogpgcheck mysqlcommunityclient 测试连接,参考内网连接MySQL: plaintext mysql h 192.168.1.11 P 13049 u root p sslcaca.pem 1.3、部署PHP 8.1版本 安装编译依赖: plaintext yum install y gcc make autoconf libxml2devel openssldevel curldevel libpngdevel libjpegdevel libzipdevel onigurumadevel sqlitedevel bzip2devel libxsltdevel 下载并编译 PHP 8.1: plaintext wget plaintext tar zxvf php8.1.0.tar.gz plaintext cd php8.1.0 plaintext ./configure prefix/usr/local/php81 withopenssl withconfigfilepath/usr/local/php81/etc enablefpm withmysqlimysqlnd withpdomysqlmysqlnd enableopcache enablezip enablecalendar enableexif enableftp withzlib withbz2 withgettext withzlibdir withfreetype withjpeg withwebp withxsl enablesoap enablesockets enableshmop enablesysvmsg enablesysvsem enablesysvshm 输出如下符合预期 安装: plaintext make j$(nproc) && make install 配置环境变量: plaintext echo 'export PATH/usr/local/php81/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
        来自:
        帮助文档
        弹性云主机 ECS
        安全合规
        安全最佳实践
        基于弹性云主机部署 WordPress 的安全防护
      • 1
      • ...
      • 58
      • 59
      • 60
      • 61
      • 62
      • ...
      • 149
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      云聚517 · 好价翼起拼

      爆款云主机低至25.83元/年,参与拼团享更多优惠,拼成得额外优惠券

      安全隔离版OpenClaw

      OpenClaw云服务器专属“龙虾“套餐低至1.5折起

      聚力AI赋能 天翼云大模型专项

      大模型特惠专区·Token Plan 轻享包低至9.9元起

      青云志云端助力计划

      一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云

      企业出海解决方案

      助力您的业务扬帆出海,通达全球!

      天翼云信创专区

      “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      产品推荐

      弹性云主机 ECS

      物理机 DPS

      多活容灾服务 MDR

      镜像服务 IMS

      轻量型云主机

      弹性伸缩服务 AS

      应用托管

      智算一体机

      知识库问答

      推荐文档

      大事记

      产品计费方式

      查看队列的详情

      删除

      如何变更账户信息

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 息壤智算平台
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号