• 关于

    服务器端分页

    的搜索结果

问题

关于服务器端分页,有何更好的解决方案?

落地花开啦 2019-12-01 19:46:57 1347 浏览量 回答数 1

问题

动态表(像论坛帖子)如何分页? 400 报错

爱吃鱼的程序员 2020-06-05 12:59:05 0 浏览量 回答数 1

回答

要在客户端对服务器返回的数据进行分页?那你需要用一个全局变量存储ajax返回的数据,分页直接操作全局变量 success: function (date){ var json = eval(date); window.data=json;

吴孟桥 2019-12-02 02:32:58 0 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

1、这种就是明显的数据不一致操作导致的问题,客户端无法控制服务器更新数据2、不能修改接口参数、不能改变查询和分页规则的前提下,能做的操作3、可以提前多查询几页数据本地app缓存起来,这是看起来可行的一条路,但是这会导致和真实数据的不一致,并且浪费本地内存4、或者新增接口,重新实现分页排序规则,

徐雷frank 2019-12-02 01:47:10 0 浏览量 回答数 0

回答

这个根据你当前总数据的大小来决定,场景一:前提条件:数据量很大方案:建议采用数据库分页来,假如一次性取出大量的数据,需要很长的时间,这样用户体验不好。场景二:前提条件:数据量不大方案:建议采用前端分页,优点是可以减少http请求,减轻服务器压力,因为数据量不大,在客户端所做的存储和计算其实也不会消耗多少性能。

杨冬芳 2019-12-02 02:54:49 0 浏览量 回答数 0

问题

SQL排序问题

a123456678 2019-12-01 20:14:03 756 浏览量 回答数 1

回答

谢谢大家的帮助,由于时间问题最后还是使用了移动端后台分页请求的方式完成的,其实我觉得服务端可以桥接一个sqlLite数据库,又服务器端生成这个4W条数据的数据库,然后请求这个db文件保存到客户端。但是我在取db文件和删除db文件上面卡壳了,所以就没有继续实现。######增量同步######回复 @蟋蟀哥哥 : 就是因为使用的时候有可能没有网,所以才要一次下载这么多数据。######回复 @Zemo : 或者像某些游戏一样,到了某个场景,才下载某个场景的地图######回复 @蟋蟀哥哥 : 我觉得翻译软件、或者背单词的软件的解决方案就能满足。######回复 @Zemo : 慢慢传呗######回复 @蟋蟀哥哥 : 但是存储的时候还是会出现效率问题吧?######终端分批取数据或终端后台进程慢慢存######学习中######回复 @mengjunxiaoxiang : 只是分的多了请求时间长,分的少了效果不明显。。。######回复 @Zemo : 四万条分页不理想,这个不至于吧?######现在暂时改成了分页获取,但是分页太多,效率有些不理想,还在改进######4w条数据,sqlite能存下吗######sqlite这点能力还是有的######可以的。######可以断点续传,没必要一次性 ######估计要压缩######第一次肯定不需要看这么多,况且一个个看也都需要时间,可以在这上面做点优化。######大部分功能都要求可以再离线环境使用,有网再上传,所以只能第一次使用的时候全部请求下来。 ######如果数据是死的可考虑一开始就当一资源放进app里面######回复 @Zemo : 我考一下子传输这么多的数据。。。。######不是死的。T.T,###### 都是什么数据啊 怎么多

kun坤 2020-06-07 20:39:43 0 浏览量 回答数 0

回答

我们需要思考的问题:该处理是否必须同步完成?数据是否必须按顺序完成? 解决办法: (1)将数据分页,利用分页的原理,每次服务器端只返回一定数目的数据,浏览器每次只对一部分进行加载。 (2)使用懒加载的方法,每次加载一部分数据,其余数据当需要使用时再去加载。 (3)使用数组分块技术,基本思路是为要处理的项目创建一个队列,然后设置定时器每过一段时间取出一部分数据,然后再使用定时器取出下一个要处理的项目进行处理,接着再设置另一个定时器。

剑曼红尘 2020-04-08 12:39:18 0 浏览量 回答数 0

回答

134题 其实就是水平扩容了,Zookeeper在这方面不太好。两种方式:全部重启:关闭所有Zookeeper服务,修改配置之后启动。不影响之前客户端的会话。逐个重启:这是比较常用的方式。 133题 集群最低3(2N+1)台,保证奇数,主要是为了选举算法。一个由 3 台机器构成的 ZooKeeper 集群,能够在挂掉 1 台机器后依然正常工作,而对于一个由 5 台服务器构成的 ZooKeeper 集群,能够对 2 台机器挂掉的情况进行容灾。注意,如果是一个由6台服务器构成的 ZooKeeper 集群,同样只能够挂掉 2 台机器,因为如果挂掉 3 台,剩下的机器就无法实现过半了。 132题 基于“过半”设计原则,ZooKeeper 在运行期间,集群中至少有过半的机器保存了最新的数据。因此,只要集群中超过半数的机器还能够正常工作,整个集群就能够对外提供服务。 131题 不是。官方声明:一个Watch事件是一个一次性的触发器,当被设置了Watch的数据发生了改变的时候,则服务器将这个改变发送给设置了Watch的客户端,以便通知它们。为什么不是永久的,举个例子,如果服务端变动频繁,而监听的客户端很多情况下,每次变动都要通知到所有的客户端,这太消耗性能了。一般是客户端执行getData(“/节点A”,true),如果节点A发生了变更或删除,客户端会得到它的watch事件,但是在之后节点A又发生了变更,而客户端又没有设置watch事件,就不再给客户端发送。在实际应用中,很多情况下,我们的客户端不需要知道服务端的每一次变动,我只要最新的数据即可。 130题 数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master 选举,分布式锁,分布式队列 129题 客户端 SendThread 线程接收事件通知, 交由 EventThread 线程回调 Watcher。客户端的 Watcher 机制同样是一次性的, 一旦被触发后, 该 Watcher 就失效了。 128题 1、服务端接收 Watcher 并存储; 2、Watcher 触发; 2.1 封装 WatchedEvent; 2.2 查询 Watcher; 2.3 没找到;说明没有客户端在该数据节点上注册过 Watcher; 2.4 找到;提取并从 WatchTable 和 Watch2Paths 中删除对应 Watcher; 3、调用 process 方法来触发 Watcher。 127题 1.调用 getData()/getChildren()/exist()三个 API,传入 Watcher 对象 2.标记请求 request,封装 Watcher 到 WatchRegistration 3.封装成 Packet 对象,发服务端发送 request 4.收到服务端响应后,将 Watcher 注册到 ZKWatcherManager 中进行管理 5.请求返回,完成注册。 126题 Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务端的一些指定事件触发了这个 Watcher,服务端会向指定客户端发送一个事件通知来实现分布式的通知功能,然后客户端根据 Watcher 通知状态和事件类型做出业务上的改变。工作机制:(1)客户端注册 watcher(2)服务端处理 watcher(3)客户端回调 watcher 125题 服务器具有四种状态,分别是 LOOKING、FOLLOWING、LEADING、OBSERVING。 LOOKING:寻 找 Leader 状态。当服务器处于该状态时,它会认为当前集群中没有 Leader,因此需要进入 Leader 选举状态。 FOLLOWING:跟随者状态。表明当前服务器角色是 Follower。 LEADING:领导者状态。表明当前服务器角色是 Leader。 OBSERVING:观察者状态。表明当前服务器角色是 Observer。 124题 Zookeeper 有三种部署模式:单机部署:一台集群上运行;集群部署:多台集群运行;伪集群部署:一台集群启动多个 Zookeeper 实例运行。 123题 Paxos算法是分布式选举算法,Zookeeper使用的 ZAB协议(Zookeeper原子广播),二者有相同的地方,比如都有一个Leader,用来协调N个Follower的运行;Leader要等待超半数的Follower做出正确反馈之后才进行提案;二者都有一个值来代表Leader的周期。不同的地方在于:ZAB用来构建高可用的分布式数据主备系统(Zookeeper),Paxos是用来构建分布式一致性状态机系统。Paxos算法、ZAB协议要想讲清楚可不是一时半会的事儿,自1990年莱斯利·兰伯特提出Paxos算法以来,因为晦涩难懂并没有受到重视。后续几年,兰伯特通过好几篇论文对其进行更进一步地解释,也直到06年谷歌发表了三篇论文,选择Paxos作为chubby cell的一致性算法,Paxos才真正流行起来。对于普通开发者来说,尤其是学习使用Zookeeper的开发者明确一点就好:分布式Zookeeper选举Leader服务器的算法与Paxos有很深的关系。 122题 ZAB协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议(paxos算法的一种实现)。ZAB协议包括两种基本的模式:崩溃恢复和消息广播。当整个zookeeper集群刚刚启动或者Leader服务器宕机、重启或者网络故障导致不存在过半的服务器与Leader服务器保持正常通信时,所有进程(服务器)进入崩溃恢复模式,首先选举产生新的Leader服务器,然后集群中Follower服务器开始与新的Leader服务器进行数据同步,当集群中超过半数机器与该Leader服务器完成数据同步之后,退出恢复模式进入消息广播模式,Leader服务器开始接收客户端的事务请求生成事物提案来进行事务请求处理。 121题 Zookeeper本身也是集群,推荐配置不少于3个服务器。Zookeeper自身也要保证当一个节点宕机时,其他节点会继续提供服务。如果是一个Follower宕机,还有2台服务器提供访问,因为Zookeeper上的数据是有多个副本的,数据并不会丢失;如果是一个Leader宕机,Zookeeper会选举出新的Leader。ZK集群的机制是只要超过半数的节点正常,集群就能正常提供服务。只有在ZK节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。所以,3个节点的cluster可以挂掉1个节点(leader可以得到2票>1.5),2个节点的cluster就不能挂掉任何1个节点了(leader可以得到1票<=1)。 120题 选完Leader以后,zk就进入状态同步过程。1、Leader等待server连接;2、Follower连接leader,将最大的zxid发送给leader;3、Leader根据follower的zxid确定同步点;4、完成同步后通知follower 已经成为uptodate状态;5、Follower收到uptodate消息后,又可以重新接受client的请求进行服务了。 119题 在zookeeper集群中也是一样,每个节点都会投票,如果某个节点获得超过半数以上的节点的投票,则该节点就是leader节点了。zookeeper中有三种选举算法,分别是LeaderElection,FastLeaderElection,AuthLeaderElection, FastLeaderElection此算法和LeaderElection不同的是它不会像后者那样在每轮投票中要搜集到所有结果后才统计投票结果,而是不断的统计结果,一旦没有新的影响leader结果的notification出现就返回投票结果。这样的效率更高。 118题 zk的负载均衡是可以调控,nginx只是能调权重,其他需要可控的都需要自己写插件;但是nginx的吞吐量比zk大很多,应该说按业务选择用哪种方式。 117题 Zookeeper 的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。 116题 有临时节点和永久节点,分再细一点有临时有序/无序节点,有永久有序/无序节点。当创建临时节点的程序结束后,临时节点会自动消失,临时节点上的数据也会一起消失。 115题 在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,这就是主节点存在的意义。 114题 ZooKeeper 实现分布式事务,类似于两阶段提交,总共分为以下 4 步:客户端先给 ZooKeeper 节点发送写请求;ZooKeeper 节点将写请求转发给 Leader 节点,Leader 广播给集群要求投票,等待确认;Leader 收到确认,统计投票,票数过半则提交事务;事务提交成功后,ZooKeeper 节点告知客户端。 113题 ZooKeeper 实现分布式锁的步骤如下:客户端连接 ZooKeeper,并在 /lock 下创建临时的且有序的子节点,第一个客户端对应的子节点为 /lock/lock-10000000001,第二个为 /lock/lock-10000000002,以此类推。客户端获取 /lock 下的子节点列表,判断自己创建的子节点是否为当前子节点列表中序号最小的子节点,如果是则认为获得锁,否则监听刚好在自己之前一位的子节点删除消息,获得子节点变更通知后重复此步骤直至获得锁;执行业务代码;完成业务流程后,删除对应的子节点释放锁。 112题 ZooKeeper 特性如下:顺序一致性(Sequential Consistency):来自相同客户端提交的事务,ZooKeeper 将严格按照其提交顺序依次执行;原子性(Atomicity):于 ZooKeeper 集群中提交事务,事务将“全部完成”或“全部未完成”,不存在“部分完成”;单一系统镜像(Single System Image):客户端连接到 ZooKeeper 集群的任意节点,其获得的数据视图都是相同的;可靠性(Reliability):事务一旦完成,其产生的状态变化将永久保留,直到其他事务进行覆盖;实时性(Timeliness):事务一旦完成,客户端将于限定的时间段内,获得最新的数据。 111题 ZooKeeper 通常有三种搭建模式:单机模式:zoo.cfg 中只配置一个 server.id 就是单机模式了,此模式一般用在测试环境,如果当前主机宕机,那么所有依赖于当前 ZooKeeper 服务工作的其他服务器都不能进行正常工作;伪分布式模式:在一台机器启动不同端口的 ZooKeeper,配置到 zoo.cfg 中,和单机模式相同,此模式一般用在测试环境;分布式模式:多台机器各自配置 zoo.cfg 文件,将各自互相加入服务器列表,上面搭建的集群就是这种完全分布式。 110题 ZooKeeper 主要提供以下功能:分布式服务注册与订阅:在分布式环境中,为了保证高可用性,通常同一个应用或同一个服务的提供方都会部署多份,达到对等服务。而消费者就须要在这些对等的服务器中选择一个来执行相关的业务逻辑,比较典型的服务注册与订阅,如 Dubbo。分布式配置中心:发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到 ZooKeeper 节点上,供订阅者获取数据,实现配置信息的集中式管理和动态更新。命名服务:在分布式系统中,通过命名服务客户端应用能够根据指定名字来获取资源、服务地址和提供者等信息。分布式锁:这个主要得益于 ZooKeeper 为我们保证了数据的强一致性。 109题 Dubbo是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。而 Spring Cloud诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外由于依托了 Spirng、Spirng Boot的优势之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。 108题 Dubbo通过Token令牌防止用户绕过注册中心直连,然后在注册中心上管理授权。Dubbo还提供服务黑白名单,来控制服务所允许的调用方。 107题 Dubbo超时时间设置有两种方式: 服务提供者端设置超时时间,在Dubbo的用户文档中,推荐如果能在服务端多配置就尽量多配置,因为服务提供者比消费者更清楚自己提供的服务特性。 服务消费者端设置超时时间,如果在消费者端设置了超时时间,以消费者端为主,即优先级更高。因为服务调用方设置超时时间控制性更灵活。如果消费方超时,服务端线程不会定制,会产生警告。 106题 Random LoadBalance: 随机选取提供者策略,有利于动态调整提供者权重。截面碰撞率高,调用次数越多,分布越均匀; RoundRobin LoadBalance: 轮循选取提供者策略,平均分布,但是存在请求累积的问题; LeastActive LoadBalance: 最少活跃调用策略,解决慢提供者接收更少的请求; ConstantHash LoadBalance: 一致性Hash策略,使相同参数请求总是发到同一提供者,一台机器宕机,可以基于虚拟节点,分摊至其他提供者,避免引起提供者的剧烈变动; 缺省时为Random随机调用。 105题 Consumer(消费者),连接注册中心 ,并发送应用信息、所求服务信息至注册中心。 注册中心根据 消费 者所求服务信息匹配对应的提供者列表发送至Consumer 应用缓存。 Consumer 在发起远程调用时基于缓存的消费者列表择其一发起调用。 Provider 状态变更会实时通知注册中心、在由注册中心实时推送至Consumer。 104题 Provider:暴露服务的服务提供方。 Consumer:调用远程服务的服务消费方。 Registry:服务注册与发现的注册中心。 Monitor:统计服务的调用次调和调用时间的监控中心。 Container:服务运行容器。 103题 主要就是如下3个核心功能: Remoting:网络通信框架,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。 Cluster:服务框架,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 Registry:服务注册,基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。 102题 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。 101题 垂直分表定义:将一个表按照字段分成多表,每个表存储其中一部分字段。水平分表是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中。 100题 垂直分库是指按照业务将表进行分类,分布到不同的数据库上面,每个库可以放在不同的服务器上,它的核心理念是专库专用。水平分库是把同一个表的数据按一定规则拆到不同的数据库中,每个库可以放在不同的服务器上。 99题 QPS:每秒查询数。TPS:每秒处理事务数。Uptime:服务器已经运行的时间,单位秒。Questions:已经发送给数据库查询数。Com_select:查询次数,实际操作数据库的。Com_insert:插入次数。Com_delete:删除次数。Com_update:更新次数。Com_commit:事务次数。Com_rollback:回滚次数。 98题 如果需要跨主机进行JOIN,跨应用进行JOIN,或者数据库不能获得较好的执行计划,都可以自己通过程序来实现JOIN。 例如:SELECT a.,b. FROM a,b WHERE a.col1=b.col1 AND a.col2> 10 ORDER BY a.col2; 可以利用程序实现,先SELECT * FROM a WHERE a.col2>10 ORDER BY a.col2;–(1) 利用(1)的结果集,做循环,SELECT * FROM b WHERE b.col1=a.col1; 这样可以避免排序,可以在程序里控制执行的速度,有效降低数据库压力,也可以实现跨主机的JOIN。 97题 搭建复制的必备条件:复制的机器之间网络通畅,Master打开了binlog。 搭建复制步骤:建立用户并设置权限,修改配置文件,查看master状态,配置slave,启动从服务,查看slave状态,主从测试。 96题 Heartbeat方案:利用Heartbeat管理VIP,利用crm管理MySQL,MySQL进行双M复制。(Linux系统下没有分库的标准方案)。 LVS+Keepalived方案:利用Keepalived管理LVS和VIP,LVS分发请求到MySQL,MySQL进行双M复制。(Linux系统下无分库无事务的方案)。 Cobar方案:利用Cobar进行HA和分库,应用程序请求Cobar,Cobar转发请求道数据库。(有分库的标准方案,Unix下唯一方案)。 95题 聚集(clustered)索引,也叫聚簇索引,数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。但是,覆盖索引可以模拟多个聚集索引。存储引擎负责实现索引,因此不是所有的存储索引都支持聚集索引。当前,SolidDB和InnoDB是唯一支持聚集索引的存储引擎。 优点:可以把相关数据保存在一起。数据访问快。 缺点:聚集能最大限度地提升I/O密集负载的性能。聚集能最大限度地提升I/O密集负载的性能。建立在聚集索引上的表在插入新行,或者在行的主键被更新,该行必须被移动的时候会进行分页。聚集表可会比全表扫描慢,尤其在表存储得比较稀疏或因为分页而没有顺序存储的时候。第二(非聚集)索引可能会比预想的大,因为它们的叶子节点包含了被引用行的主键列。 94题 以下原因是导致mysql 表毁坏的常见原因: 服务器突然断电导致数据文件损坏; 强制关机,没有先关闭mysql 服务; mysqld 进程在写表时被杀掉; 使用myisamchk 的同时,mysqld 也在操作表; 磁盘故障;服务器死机;mysql 本身的bug 。 93题 1.定位慢查询 首先先打开慢查询日志设置慢查询时间; 2.分析慢查询(使用explain工具分析sql语句); 3.优化慢查询 。

游客ih62co2qqq5ww 2020-06-15 13:55:41 0 浏览量 回答数 0

回答

找到了相关网页,但解决不了我这个问题。 http://mengxing0929.iteye.com/blog/1198682 jquery datatable服务器端分页不支持IE6,IE7; 原因是在IE6,IE7,jquery datatable通过ajax 无法发送get类型请求; 但可以发送post请求,只要将插件中的ajax的请求类型改为post就可以解决问题; 问题:http://www.datatables.net/forums/discussion/3400/error-no-data-ie6-and-ie7/p1 修改jquery datatable 插件原码: 在fnServerData function中,添加参数 "type":"post"; ######哦 我错了,上面的链接没解决我的问题..... ###### 我建了 Jquery    Datatables    交流群 欢迎加入 群号:20779435

montos 2020-05-31 21:53:39 0 浏览量 回答数 0

回答

找到了相关网页,但解决不了我这个问题。 http://mengxing0929.iteye.com/blog/1198682 jquery datatable服务器端分页不支持IE6,IE7; 原因是在IE6,IE7,jquery datatable通过ajax 无法发送get类型请求; 但可以发送post请求,只要将插件中的ajax的请求类型改为post就可以解决问题; 问题:http://www.datatables.net/forums/discussion/3400/error-no-data-ie6-and-ie7/p1 修改jquery datatable 插件原码: 在fnServerData function中,添加参数 "type":"post"; ######哦 我错了,上面的链接没解决我的问题..... ###### 我建了 Jquery    Datatables    交流群 欢迎加入 群号:20779435

kun坤 2020-06-08 08:05:46 0 浏览量 回答数 0

回答

" 找到了相关网页,但解决不了我这个问题。 http://mengxing0929.iteye.com/blog/1198682 jquery datatable服务器端分页不支持IE6,IE7; 原因是在IE6,IE7,jquery datatable通过ajax 无法发送get类型请求; 但可以发送post请求,只要将插件中的ajax的请求类型改为post就可以解决问题; 问题:http://www.datatables.net/forums/discussion/3400/error-no-data-ie6-and-ie7/p1 修改jquery datatable 插件原码: 在fnServerData function中,添加参数 "type":"post"; ######哦 我错了,上面的链接没解决我的问题..... ###### 我建了 Jquery    Datatables    交流群 欢迎加入 群号:20779435"

montos 2020-05-31 11:17:31 0 浏览量 回答数 0

问题

IE7使用jquery插件Datatables报参数无效 403.10 禁止访问:配置无效 

kun坤 2020-05-28 13:22:38 5 浏览量 回答数 1

回答

地域管理接口 API 描述 OnsRegionList 使用 OnsRegionList 获取消息队列 RocketMQ 版(目前开放服务的地域(Region)信息列表。 实例管理接口 API 描述 OnsInstanceBaseInfo 使用 OnsInstanceBaseInfo 查询实例基本信息和收发消息的接入点。 OnsInstanceCreate 使用 OnsInstanceCreate 创建实例。 OnsInstanceDelete 使用 OnsInstanceDelete 删除实例。 OnsInstanceInServiceList 使用 OnsInstanceInServiceList 查询当前用户账号下某地域所有实例的信息。 OnsInstanceUpdate 使用 OnsInstanceUpdate 更新实例名称和描述。 Topic 管理接口 API 描述 OnsTopicCreate 使用 OnsTopicCreate 创建 Topic。 OnsTopicDelete 使用 OnsTopicDelete 删除您账号下指定的 Topic。 OnsTopicList 使用 OnsTopicList 查询账号下所有 Topic 的信息列表。 OnsTopicStatus 使用 OnsTopicStatus 查询当前 Topic 下的消息总量以及 Topic 的最后更新时间。 OnsTopicUpdate 使用 OnsTopicUpdate 配置 Topic 的读写模式。 OnsTopicSubDetail 一般使用 OnsTopicSubDetail 查看有哪些在线订阅组订阅了这个 Topic。 Group 管理接口 API 描述 OnsGroupCreate 使用 OnsGroupCreate 创建客户端 Group ID。 OnsGroupDelete 使用 OnsGroupDelete 删除之前使用 OnsGroupCreate 接口创建的 Group。 OnsGroupList 使用 OnsGroupList 展示您的 Group ID 资源的列表,并不用于具体的信息查询。 OnsGroupSubDetail 使用 OnsGroupSubDetail 查看 Group 订阅了哪些 Topic,如果 Group ID 对应的消费者实例不在线则查不到数据。 OnsGroupConsumerUpdate 使用 OnsGroupConsumerUpdate 配置指定 Group ID 对应的消费集群的消息读取权限。 消费管理接口 API 描述 OnsConsumerAccumulate 使用 OnsConsumerAccumulate 查询指定 Group ID 的消息消费堆积情况,包括当前消息堆积数量和消费延迟时间等。 OnsConsumerStatus 使用 OnsConsumerStatus 查询指定 Group ID 的详细状态数据,包含订阅关系检查、消费 TPS 统计、负载均衡状态、消费端连接等。 OnsConsumerGetConnection 使用 OnsConsumerGetConnection 查询指定 Group ID 下当前客户端的连接情况。 OnsConsumerResetOffset 使用 OnsConsumerResetOffset 重置指定的 Group ID 的消费位点到指定时间戳。 OnsConsumerTimeSpan 使用 OnsConsumerTimeSpan 查询当前 Group ID 订阅的 Topic 的最新消息时间戳以及消费的最新时间。 消息查询接口 API 描述 OnsMessageTrace 使用 OnsMessageTrace 根据 Message ID 来判断目标消息是否曾被消费过。 OnsMessageGetByMsgId 使用 OnsMessageGetByMsgId 通过传入 Message ID 查询指定消息的信息以及判断该指定的消息是否曾被消费过。查询到的信息包括发送时间、存储服务器和消息的 Key 和 Tag 等属性。 OnsMessageGetByKey 使用 OnsMessageGetByKey 通过传入 Topic 名称和 Message Key 进行模糊查询,得到符合条件的消息的信息列表。 OnsMessagePageQueryByTopic 使用 OnsMessagePageQueryByTopic 通过传入 Topic 名称和时间段,分页查询指定时间段内该 Topic 内存在的所有消息。 发布订阅统计接口 API 描述 OnsTrendTopicInputTps 使用 OnsTrendTopicInputTps 查询一段时间内指定的 Topic 的消息写入报表数据。 OnsTrendGroupOutputTps 使用 OnsTrendGroupOutputTps 查询指定的 Group ID 在一段时间内消费消息的统计信息。 消息轨迹接口 API 描述 OnsTraceGetResult 使用 OnsTraceGetResult 通过传入轨迹查询任务的 ID 获取之前的轨迹查询结果。 OnsTraceQueryByMsgId 使用 OnsTraceQueryByMsgId 通过传入 Topic 名称和 Message ID 创建轨迹查询任务,得到该查询任务的 ID。 OnsTraceQueryByMsgKey 使用 OnsTraceQueryByMsgKey 通过传入 Topic 名称和 Message Key 创建轨迹查询任务,得到该查询任务的 ID。 死信队列接口 API 描述 OnsDLQMessageGetById 使用 OnsDLQMessageGetById 通过传入 Message ID 查询指定的死信消息。查询到的信息包括死信消息的存储时间、消息体、Key 和 Tag 等属性。 OnsDLQMessagePageQueryByGroupId 使用 OnsDLQMessagePageQueryByGroupId 通过传入 Group ID 和时间段,分页查询指定时间段内该 Group ID 内存在的所有死信消息。 OnsDLQMessageResendById 使用 OnsDLQMessageResendById 通过传入 Message ID 重发指定的死信消息,使该消息能够被 Consumer 再次消费。

保持可爱mmm 2020-03-28 20:49:38 0 浏览量 回答数 0

问题

获取部门成员接口 返回数据跟钉钉客户端对应不上

跳跳虎188 2019-12-01 21:10:15 2779 浏览量 回答数 2

问题

【精品锦集】redis热门回答05

问问小秘 2019-12-01 19:53:56 29 浏览量 回答数 1

回答

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事 件驱动(异步)架构。Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易等。这篇文章主要是介绍如何提高运行在 Linux或UNIX系统的Nginx Web服务器的安全性。 默认配置文件和Nginx端口 /usr/local/nginx/conf/ – Nginx配置文件目录,/usr/local/nginx/conf/nginx.conf是主配置文件 /usr/local/nginx/html/ – 默认网站文件位置 /usr/local/nginx/logs/ – 默认日志文件位置 Nginx HTTP默认端口 : TCP 80 Nginx HTTPS默认端口: TCP 443 你可以使用以下命令来测试Nginx配置文件准确性。 /usr/local/nginx/sbin/nginx -t 将会输出: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 执行以下命令来重新加载配置文件。 /usr/local/nginx/sbin/nginx -s reload 执行以下命令来停止服务器。 /usr/local/nginx/sbin/nginx -s stop 一、配置SELinux 注意:对于云服务器 ECS,参阅 ECS 使用须知 ,基于兼容性、稳定性考虑,请勿开启 SELinux。 安全增强型 Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。它可以防御大部分攻击。下面我们来看如何启动基于centos/RHEL系统的SELinux。 安装SELinux rpm -qa | grep selinux libselinux-1.23.10-2 selinux-policy-targeted-1.23.16-6 如果没有返回任何结果,代表没有安装 SELinux,如果返回了类似上面的结果,则说明系统安装了 SELinux。 布什值锁定 运行命令getsebool -a来锁定系统。 getsebool -a | less getsebool -a | grep off getsebool -a | grep o 二、通过分区挂载允许最少特权 服务器上的网页/html/php文件单独分区。例如,新建一个分区/dev/sda5(第一逻辑分区),并且挂载在/nginx。确保 /nginx是以noexec, nodev and nosetuid的权限挂载。以下是我的/etc/fstab的挂载/nginx的信息: LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:你需要使用fdisk和mkfs.ext3命令创建一个新分区。 三、配置/etc/sysctl.conf强化Linux安全 你可以通过编辑/etc/sysctl.conf来控制和配置Linux内核、网络设置。 Avoid a smurf attack net.ipv4.icmp_echo_ignore_broadcasts = 1 Turn on protection for bad icmp error messages net.ipv4.icmp_ignore_bogus_error_responses = 1 Turn on syncookies for SYN flood attack protection net.ipv4.tcp_syncookies = 1 Turn on and log spoofed, source routed, and redirect packets net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 No source routed packets here net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 Turn on reverse path filtering net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 Make sure no one can alter the routing tables net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 Don’t act as a router net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 Turn on execshild kernel.exec-shield = 1 kernel.randomize_va_space = 1 Tuen IPv6 net.ipv6.conf.default.router_solicitations = 0 net.ipv6.conf.default.accept_ra_rtr_pref = 0 net.ipv6.conf.default.accept_ra_pinfo = 0 net.ipv6.conf.default.accept_ra_defrtr = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.default.dad_transmits = 0 net.ipv6.conf.default.max_addresses = 1 Optimization for port usefor LBs Increase system file descriptor limit fs.file-max = 65535 Allow for more PIDs (to reduce rollover problems); may break some programs 32768 kernel.pid_max = 65536 Increase system IP port limits net.ipv4.ip_local_port_range = 2000 65000 Increase TCP max buffer size setable using setsockopt() net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 Increase Linux auto tuning TCP buffer limits min, default, and max number of bytes to use set max to at least 4MB, or higher if you use very high BDP paths Tcp Windows etc net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1 四、删除所有不需要的Nginx模块 你需要直接通过编译Nginx源代码使模块数量最少化。通过限制只允许web服务器访问模块把风险降到最低。你可以只配置安装nginx你所需要的模块。例如,禁用SSL和autoindex模块你可以执行以下命令: ./configure –without-http_autoindex_module –without-http_ssi_module make make install 通过以下命令来查看当编译nginx服务器时哪个模块能开户或关闭: ./configure –help | less 禁用你用不到的nginx模块。 (可选项)更改nginx版本名称。 编辑文件/http/ngx_http_header_filter_module.c: vi +48 src/http/ngx_http_header_filter_module.c 找到行: static char ngx_http_server_string[] = “Server: nginx” CRLF; static char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF; 按照以下行修改: static char ngx_http_server_string[] = “Server: Ninja Web Server” CRLF; static char ngx_http_server_full_string[] = “Server: Ninja Web Server” CRLF; 保存并关闭文件。现在你可以编辑服务器了。增加以下代码到nginx.conf文件来关闭nginx版本号的显示。 server_tokens off 五、使用mod_security(只适合后端Apache服务器) mod_security为Apache提供一个应用程序级的防火墙。为后端Apache Web服务器安装mod_security,这会阻止很多注入式攻击。 六、安装SELinux策略以强化Nginx Web服务器 默认的SELinux不会保护Nginx Web服务器,但是你可以安装和编译保护软件。 1、安装编译SELinux所需环境支持 yum -y install selinux-policy-targeted selinux-policy-devel 2、下载SELinux策略以强化Nginx Web服务器。 cd /opt wget ‘http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz?use_mirror=nchc’ 3、解压文件 tar -zxvf se-ngix_1_0_10.tar.gz 4、编译文件 cd se-ngix_1_0_10/nginx make 将会输出如下: Compiling targeted nginx module /usr/bin/checkmodule: loading policy configuration from tmp/nginx.tmp /usr/bin/checkmodule: policy configuration loaded /usr/bin/checkmodule: writing binary representation (version 6) to tmp/nginx.mod Creating targeted nginx.pp policy package rm tmp/nginx.mod.fc tmp/nginx.mod 5、安装生成的nginx.pp SELinux模块: /usr/sbin/semodule -i nginx.pp 七、基于Iptables防火墙的限制 下面的防火墙脚本阻止任何除了允许: 来自HTTP(TCP端口80)的请求 来自ICMP ping的请求 ntp(端口123)的请求输出 smtp(TCP端口25)的请求输出 #!/bin/bash IPT=”/sbin/iptables” IPS Get server public ip SERVER_IP=$(ifconfig eth0 | grep ‘inet addr:’ | awk -F’inet addr:’ ‘{ print $2}’ | awk ‘{ print $1}’) LB1_IP=”204.54.1.1″ LB2_IP=”204.54.1.2″ Do some smart logic so that we can use damm script on LB2 too OTHER_LB=”" SERVER_IP=”" [[ "$SERVER_IP" == "$LB1_IP" ]] && OTHER_LB=”$LB2_IP” || OTHER_LB=”$LB1_IP” [[ "$OTHER_LB" == "$LB2_IP" ]] && OPP_LB=”$LB1_IP” || OPP_LB=”$LB2_IP” IPs PUB_SSH_ONLY=”122.xx.yy.zz/29″ FILES BLOCKED_IP_TDB=/root/.fw/blocked.ip.txt SPOOFIP=”127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 169.254.0.0/16 0.0.0.0/8 240.0.0.0/4 255.255.255.255/32 168.254.0.0/16 224.0.0.0/4 240.0.0.0/5 248.0.0.0/5 192.0.2.0/24″ BADIPS=$( [[ -f ${BLOCKED_IP_TDB} ]] && egrep -v “^#|^$” ${BLOCKED_IP_TDB}) Interfaces PUB_IF=”eth0″ # public interface LO_IF=”lo” # loopback VPN_IF=”eth1″ # vpn / private net start firewall echo “Setting LB1 $(hostname) Firewall…” DROP and close everything $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP Unlimited lo access $IPT -A INPUT -i ${LO_IF} -j ACCEPT $IPT -A OUTPUT -o ${LO_IF} -j ACCEPT Unlimited vpn / pnet access $IPT -A INPUT -i ${VPN_IF} -j ACCEPT $IPT -A OUTPUT -o ${VPN_IF} -j ACCEPT Drop sync $IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -j DROP Drop Fragments $IPT -A INPUT -i ${PUB_IF} -f -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL ALL -j DROP Drop NULL packets $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” NULL Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,RST SYN,RST -j DROP Drop XMAS $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” XMAS Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP Drop FIN packet scans $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” Fin Packets Scan “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP Log and get rid of broadcast / multicast and invalid $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j LOG –log-prefix ” Broadcast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j DROP $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j LOG –log-prefix ” Multicast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j DROP $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j LOG –log-prefix ” Invalid “ $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j DROP Log and block spoofed ips $IPT -N spooflist for ipblock in $SPOOFIP do $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j LOG –log-prefix ” SPOOF List Block “ $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j DROP done $IPT -I INPUT -j spooflist $IPT -I OUTPUT -j spooflist $IPT -I FORWARD -j spooflist Allow ssh only from selected public ips for ip in ${PUB_SSH_ONLY} do $IPT -A INPUT -i ${PUB_IF} -s ${ip} -p tcp -d ${SERVER_IP} –destination-port 22 -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -d ${ip} -p tcp -s ${SERVER_IP} –sport 22 -j ACCEPT done allow incoming ICMP ping pong stuff $IPT -A INPUT -i ${PUB_IF} -p icmp –icmp-type 8 -s 0/0 -m state –state NEW,ESTABLISHED,RELATED -m limit –limit 30/sec -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p icmp –icmp-type 0 -d 0/0 -m state –state ESTABLISHED,RELATED -j ACCEPT allow incoming HTTP port 80 $IPT -A INPUT -i ${PUB_IF} -p tcp -s 0/0 –sport 1024:65535 –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p tcp –sport 80 -d 0/0 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT allow outgoing ntp $IPT -A OUTPUT -o ${PUB_IF} -p udp –dport 123 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p udp –sport 123 -m state –state ESTABLISHED -j ACCEPT allow outgoing smtp $IPT -A OUTPUT -o ${PUB_IF} -p tcp –dport 25 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p tcp –sport 25 -m state –state ESTABLISHED -j ACCEPT add your other rules here ####################### drop and log everything else $IPT -A INPUT -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” DEFAULT DROP “ $IPT -A INPUT -j DROP exit 0 八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf 编辑和设置所有客户端缓冲区的大小限制如下: Start: Size Limits & Buffer Overflows client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k; END: Size Limits & Buffer Overflows 解释: 1、client_body_buffer_size 1k-(默认8k或16k)这个指令可以指定连接请求实体的缓冲区大小。如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。 2、client_header_buffer_size 1k-指令指定客户端请求头部的缓冲区大小。绝大多数情况下一个请求头不会大于1k,不过如果有来自于wap客户端的较大的cookie它可能会大于 1k,Nginx将分配给它一个更大的缓冲区,这个值可以在large_client_header_buffers里面设置。 3、client_max_body_size 1k-指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。 如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。记住,浏览器并不知道怎样显示这个错误。 4、large_client_header_buffers-指定客户端一些比较大的请求头使用的缓冲区数量和大小。请求字段不能大于一个缓冲区大小,如果客户端发送一个比较大的头,nginx将返回”Request URI too large” (414) 同样,请求的头部最长字段不能大于一个缓冲区,否则服务器将返回”Bad request” (400)。缓冲区只在需求时分开。默认一个缓冲区大小为操作系统中分页文件大小,通常是4k或8k,如果一个连接请求最终将状态转换为keep- alive,它所占用的缓冲区将被释放。 你还需要控制超时来提高服务器性能并与客户端断开连接。按照如下编辑: Start: Timeouts client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send_timeout 10; End: Timeouts 1、client_body_timeout 10;-指令指定读取请求实体的超时时间。这里的超时是指一个请求实体没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 2、client_header_timeout 10;-指令指定读取客户端请求头标题的超时时间。这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 3、keepalive_timeout 5 5; – 参数的第一个值指定了客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接。参数的第二个值(可选)指定了应答头中Keep-Alive: timeout=time的time值,这个值可以使一些浏览器知道什么时候关闭连接,以便服务器不用重复关闭,如果不指定这个参数,nginx不会在应 答头中发送Keep-Alive信息。(但这并不是指怎样将一个连接“Keep-Alive”)参数的这两个值可以不相同。 4、send_timeout 10; 指令指定了发送给客户端应答后的超时时间,Timeout是指没有进入完整established状态,只完成了两次握手,如果超过这个时间客户端没有任何响应,nginx将关闭连接。 九、控制并发连接 你可以使用NginxHttpLimitZone模块来限制指定的会话或者一个IP地址的特殊情况下的并发连接。编辑nginx.conf: Directive describes the zone, in which the session states are stored i.e. store in slimits. 1m can handle 32000 sessions with 32 bytes/session, set to 5m x 32000 session limit_zone slimits $binary_remote_addr 5m; Control maximum number of simultaneous connections for one session i.e. restricts the amount of connections from a single ip address limit_conn slimits 5; 上面表示限制每个远程IP地址的客户端同时打开连接不能超过5个。 十、只允许我们的域名的访问 如果机器人只是随机扫描服务器的所有域名,那拒绝这个请求。你必须允许配置的虚拟域或反向代理请求。你不必使用IP地址来拒绝。 Only requests to our Host are allowed i.e. nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(nixcraft.in|www.nixcraft.in|images.nixcraft.in)$ ) { return 444; } 十一、限制可用的请求方法 GET和POST是互联网上最常用的方法。 Web服务器的方法被定义在RFC 2616。如果Web服务器不要求启用所有可用的方法,它们应该被禁用。下面的指令将过滤只允许GET,HEAD和POST方法: Only allow these request methods if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } Do not accept DELETE, SEARCH and other methods 更多关于HTTP方法的介绍 GET方法是用来请求,如文件http://www.moqifei.com/index.php。 HEAD方法是一样的,除非该服务器的GET请求无法返回消息体。 POST方法可能涉及到很多东西,如储存或更新数据,或订购产品,或通过提交表单发送电子邮件。这通常是使用服务器端处理,如PHP,Perl和Python等脚本。如果你要上传的文件和在服务器处理数据,你必须使用这个方法。 十二、如何拒绝一些User-Agents? 你可以很容易地阻止User-Agents,如扫描器,机器人以及滥用你服务器的垃圾邮件发送者。 Block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } 阻止Soso和有道的机器人: Block some robots if ($http_user_agent ~* Sosospider|YodaoBot) { return 403; } 十三、如何防止图片盗链 图片或HTML盗链的意思是有人直接用你网站的图片地址来显示在他的网站上。最终的结果,你需要支付额外的宽带费用。这通常是在论坛和博客。我强烈建议您封锁,并阻止盗链行为。 Stop deep linking or hot linking location /images/ { valid_referers none blocked www.example.com example.com; if ($invalid_referer) { return 403; } } 例如:重定向并显示指定图片 valid_referers blocked www.example.com example.com; if ($invalid_referer) { rewrite ^/images/uploads.*.(gif|jpg|jpeg|png)$ http://www.examples.com/banned.jpg last } 十四、目录限制 你可以对指定的目录设置访问权限。所有的网站目录应该一一的配置,只允许必须的目录访问权限。 通过IP地址限制访问 你可以通过IP地址来限制访问目录/admin/: location /docs/ { block one workstation deny 192.168.1.1; allow anyone in 192.168.1.0/24 allow 192.168.1.0/24; drop rest of the world deny all; } 通过密码保护目录 首先创建密码文件并增加“user”用户: mkdir /usr/local/nginx/conf/.htpasswd/ htpasswd -c /usr/local/nginx/conf/.htpasswd/passwd user 编辑nginx.conf,加入需要保护的目录: Password Protect /personal-images/ and /delta/ directories location ~ /(personal-images/.|delta/.) { auth_basic “Restricted”; auth_basic_user_file /usr/local/nginx/conf/.htpasswd/passwd; } 一旦密码文件已经生成,你也可以用以下的命令来增加允许访问的用户: htpasswd -s /usr/local/nginx/conf/.htpasswd/passwd userName 十五、Nginx SSL配置 HTTP是一个纯文本协议,它是开放的被动监测。你应该使用SSL来加密你的用户内容。 创建SSL证书 执行以下命令: cd /usr/local/nginx/conf openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 编辑nginx.conf并按如下来更新: server { server_name example.com; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; access_log /usr/local/nginx/logs/ssl.access.log; error_log /usr/local/nginx/logs/ssl.error.log; } 重启nginx: /usr/local/nginx/sbin/nginx -s reload 十六、Nginx与PHP安全建议 PHP是流行的服务器端脚本语言之一。如下编辑/etc/php.ini文件: Disallow dangerous functions disable_functions = phpinfo, system, mail, exec Try to limit resources Maximum execution time of each script, in seconds max_execution_time = 30 Maximum amount of time each script may spend parsing request data max_input_time = 60 Maximum amount of memory a script may consume (8MB) memory_limit = 8M Maximum size of POST data that PHP will accept. post_max_size = 8M Whether to allow HTTP file uploads. file_uploads = Off Maximum allowed size for uploaded files. upload_max_filesize = 2M Do not expose PHP error messages to external users display_errors = Off Turn on safe mode safe_mode = On Only allow access to executables in isolated directory safe_mode_exec_dir = php-required-executables-path Limit external access to PHP environment safemode_allowed_env_vars = PHP Restrict PHP information leakage expose_php = Off Log all errors log_errors = On Do not register globals for input data register_globals = Off Minimize allowable PHP post size post_max_size = 1K Ensure PHP redirects appropriately cgi.force_redirect = 0 Disallow uploading unless necessary file_uploads = Off Enable SQL safe mode sql.safe_mode = On Avoid Opening remote files allow_url_fopen = Off 十七、如果可能让Nginx运行在一个chroot监狱 把nginx放在一个chroot监狱以减小潜在的非法进入其它目录。你可以使用传统的与nginx一起安装的chroot。如果可能,那使用FreeBSD jails,Xen,OpenVZ虚拟化的容器概念。 十八、在防火墙级限制每个IP的连接数 网络服务器必须监视连接和每秒连接限制。PF和Iptales都能够在进入你的nginx服务器之前阻止最终用户的访问。 Linux Iptables:限制每次Nginx连接数 下面的例子会阻止来自一个IP的60秒钟内超过15个连接端口80的连接数。 /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 15 -j DROP service iptables save 请根据你的具体情况来设置限制的连接数。 十九:配置操作系统保护Web服务器 像以上介绍的启动SELinux.正确设置/nginx文档根目录的权限。Nginx以用户nginx运行。但是根目录(/nginx或者/usr /local/nginx/html)不应该设置属于用户nginx或对用户nginx可写。找出错误权限的文件可以使用如下命令: find /nginx -user nginx find /usr/local/nginx/html -user nginx 确保你更所有权为root或其它用户,一个典型的权限设置 /usr/local/nginx/html/ ls -l /usr/local/nginx/html/ 示例输出: -rw-r–r– 1 root root 925 Jan 3 00:50 error4xx.html -rw-r–r– 1 root root 52 Jan 3 10:00 error5xx.html -rw-r–r– 1 root root 134 Jan 3 00:52 index.html 你必须删除由vi或其它文本编辑器创建的备份文件: find /nginx -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ find /usr/local/nginx/html/ -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ 通过find命令的-delete选项来删除这些文件。 二十、限制Nginx连接传出 黑客会使用工具如wget下载你服务器本地的文件。使用Iptables从nginx用户来阻止传出连接。ipt_owner模块试图匹配本地产生的数据包的创建者。下面的例子中只允许user用户在外面使用80连接。 /sbin/iptables -A OUTPUT -o eth0 -m owner –uid-owner vivek -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT 通过以上的配置,你的nginx服务器已经非常安全了并可以发布网页。可是,你还应该根据你网站程序查找更多的安全设置资料。例如,wordpress或者第三方程序。

KB小秘书 2019-12-02 02:06:56 0 浏览量 回答数 0

问题

已知问题汇总,求解答

turboyang 2019-12-01 21:37:43 3272 浏览量 回答数 1

回答

服务器和操作系统 1、主板的两个芯片分别是什么芯片,具备什么作用? 北桥:离CPU近,负责CPU、内存、显卡之间的通信。 南桥:离CPU远,负责I/O总线之间的通信。 2、什么是域和域控制器? 将网络中的计算机逻辑上组织到一起,进行集中管理,这种集中管理的环境称为域。 在域中,至少有一台域控制器,域控制器中保存着整个域的用户账号和安全数据,安装了活动目录的一台计算机为域控制器,域管理员可以控制每个域用户的行为。 3、现在有300台虚拟机在云上,你如何进行管理? 1)设定堡垒机,使用统一账号登录,便于安全与登录的考量。 2)使用ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录。 4、简述raid0 raid1 raid5 三种工作模式的工作原理及特点 磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID),把硬盘整合成一个大磁盘,在大磁盘上再分区,存放数据、多块盘放在一起可以有冗余(备份)。 RAID整合方式有很多,常用的:0 1 5 10 RAID 0:可以是一块盘和N个盘组合 优点:读写快,是RAID中最好的 缺点:没有冗余,一块坏了数据就全没有了 RAID 1:只能2块盘,盘的大小可以不一样,以小的为准 10G+10G只有10G,另一个做备份。它有100%的冗余,缺点:浪费资源,成本高 RAID 5 :3块盘,容量计算10*(n-1),损失一块盘 特点:读写性能一般,读还好一点,写不好 总结: 冗余从好到坏:RAID1 RAID10 RAID 5 RAID0 性能从好到坏:RAID0 RAID10 RAID5 RAID1 成本从低到高:RAID0 RAID5 RAID1 RAID10 5、linux系统里,buffer和cache如何区分? buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。 6、主机监控如何实现? 数据中心可以用zabbix(也可以是nagios或其他)监控方案,zabbix图形界面丰富,也自带很多监控模板,特别是多个分区、多个网卡等自动发现并进行监控做得非常不错,不过需要在每台客户机(被监控端)安装zabbix agent。 如果在公有云上,可以使用云监控来监控主机的运行。 网络 7、主机与主机之间通讯的三要素有什么? IP地址、子网掩码、IP路由 8、TCP和UDP都可以实现客户端/服务端通信,这两个协议有何区别? TCP协议面向连接、可靠性高、适合传输大量数据;但是需要三次握手、数据补发等过程,耗时长、通信延迟大。 UDP协议面向非连接、可靠性低、适合传输少量数据;但是连接速度快、耗时短、延迟小。 9、简述TCP协议三次握手和四次分手以及数据传输过程 三次握手: (1)当主机A想同主机B建立连接,主机A会发送SYN给主机B,初始化序列号seq=x。主机A通过向主机B发送SYS报文段,实现从主机A到主机B的序列号同步,即确定seq中的x。 (2)主机B接收到报文后,同意与A建立连接,会发送SYN、ACK给主机A。初始化序列号seq=y,确认序号ack=x+1。主机B向主机A发送SYN报文的目的是实现从主机B到主机A的序列号同步,即确定seq中的y。 (3)主机A接收到主机B发送过来的报文后,会发送ACK给主机B,确认序号ack=y+1,建立连接完成,传输数据。 四次分手: (1)当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文段,初始化序号seq=x。 (2)主机B收到这个FIN报文段,并不立即用FIN报文段回复主机A,而是想主机A发送一个确认序号ack=x+1,同时通知自己的应用程序,对方要求关闭连接(先发ack是防止主机A重复发送FIN报文)。 (3)主机B发送完ack确认报文后,主机B 的应用程序通知TCP我要关闭连接,TCP接到通知后会向主机A发送一个带有FIN附加标记的报文段,初始化序号seq=x,ack=x+1。 (4)主机A收到这个FIN报文段,向主机B发送一个ack确认报文,ack=y+1,表示连接彻底释放。 10、SNAT和DNAT的区别 SNAT:内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。 DNAT:当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。 数据库 11、叙述数据的强一致性和最终一致性 强一致性:在任何时刻所有的用户或者进程查询到的都是最近一次成功更新的数据。强一致性是程度最高一致性要求,也是最难实现的。关系型数据库更新操作就是这个案例。 最终一致性:和强一致性相对,在某一时刻用户或者进程查询到的数据可能都不同,但是最终成功更新的数据都会被所有用户或者进程查询到。当前主流的nosql数据库都是采用这种一致性策略。 12、MySQL的主从复制过程是同步的还是异步的? 主从复制的过程是异步的复制过程,主库完成写操作并计入binlog日志中,从库再通过请求主库的binlog日志写入relay中继日志中,最后再执行中继日志的sql语句。 **13、MySQL主从复制的优点 ** 如果主服务器出现问题,可以快速切换到从服务器提供的服务; 可以在从服务器上执行查询操作,降低主服务器的访问压力; 可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。 14、redis有哪些数据类型? (一)String 最常规的set/get操作,value可以是String也可以是数字。一般做一些复杂的计数功能的缓存。 (二)hash 这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。做单点登录的时候,就是用这种数据结构存储用户信息,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。 (三)list 使用List的数据结构,可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。 (四)set 因为set堆放的是一堆不重复值的集合。所以可以做全局去重的功能。为什么不用JVM自带的Set进行去重?因为我们的系统一般都是集群部署,使用JVM自带的Set,比较麻烦,难道为了一个做一个全局去重,再起一个公共服务,太麻烦了。 另外,就是利用交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能。 (五)Zset Zset多了一个权重参数score,集合中的元素能够按score进行排列。可以做排行榜应用,取TOP N操作。另外,sorted set可以用来做延时任务。最后一个应用就是可以做范围查找。 15、叙述分布式数据库及其使用场景? 分布式数据库应该是数据访问对应用透明,每个分片默认采用主备架构,提供灾备、恢复、监控、不停机扩容等整套解决方案,适用于TB或PB级的海量数据场景。 应用 16、Apache、Nginx、Lighttpd都有哪些特点? Apache特点:1)几乎可以运行在所有的计算机平台上;2)支持最新的http/1.1协议;3)简单而且强有力的基于文件的配置(httpd.conf);4)支持通用网关接口(cgi);5)支持虚拟主机;6)支持http认证,7)集成perl;8)集成的代理服务器;9)可以通过web浏览器监视服务器的状态,可以自定义日志;10)支持服务器端包含命令(ssi);11)支持安全socket层(ssl);12)具有用户绘画过程的跟踪能力;13)支持fastcgi;14)支持java servlets Nginx特点:nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器,处理静态文件,索引文件以及自动索引,无缓存的反向代理加速,简单的负载均衡和容错,具有很高的稳定性,支持热部署。 Lighttpd特点:是一个具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块,Lighttpd是众多opensource轻量级的webserver中较为优秀的一个,支持fastcgi,cgi,auth,输出压缩,url重写,alias等重要功能。 17、LVS、NGINX、HAPROXY的优缺点? LVS优点:具有很好的可伸缩性、可靠性、可管理性。抗负载能力强、对内存和CPU资源消耗比较低。工作在四层上,仅作分发,所以它几乎可以对所有的应用做负载均衡,且没有流量的产生,不会受到大流量的影响。 LVS缺点:软件不支持正则表达式处理,不能做动静分离,如果web应用比较庞大,LVS/DR+KEEPALIVED实施和管理比较复杂。相对而言,nginx和haproxy就简单得多。 nginx优点:工作在七层之上,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则规则比haproxy更为强大和灵活。对网络稳定性依赖非常小。理论上能PING就能进行负载均衡。配置和测试简单,可以承担高负载压力且稳定。nginx可以通过端口检测到服务器内部的故障。比如根据服务器处理网页返回的状态码、超时等。并且可以将返回错误的请求重新发送给另一个节点,同时nginx不仅仅是负载均衡器/反向代理软件。同时也是功能强大的web服务器,可以作为中层反向代理、静态网页和图片服务器使用。 nginx缺点:不支持URL检测,仅支持HTTP和EMAIL,对session的保持,cookie的引导能力相对欠缺。 Haproxy优点:支持虚拟主机、session的保持、cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。支持TCP协议的负载均衡;单纯从效率上讲比nginx更出色,且负载策略非常多。 aproxy缺点:扩展性能差;添加新功能很费劲,对不断扩展的新业务很难对付。 18、什么是中间件?什么是jdk? 中间件介绍: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源 中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯 是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口 但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递 通过中间件,应用程序可以工作于多平台或OS环境。 jdk:jdk是Java的开发工具包 它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境 19、日志收集、日志检索、日志展示的常用工具有哪些? ELK或EFK。 Logstash:数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。 Kibana:可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。 Elasticsearch:分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。 Filebeat:轻量级数据收集引擎。基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,逐渐取代其位置。 20、什么是蓝绿发布和灰度发布? 蓝绿:旧版本-新版本 灰度:新旧版本各占一定比例,比例可自定义 两种发布都通过devops流水线实现

剑曼红尘 2020-03-23 15:51:44 0 浏览量 回答数 0

问题

某政务网站性能优化

猫饭先生 2019-12-01 21:25:38 1412 浏览量 回答数 0

回答

Re阿里云oss云储存投票贴您网站的附件及图片等资源如何处理进来发钱 1,绝大多数人使用阿里云还是考虑云存储和节约带宽。可以考虑将制作个比较可靠的软件,使用这个软件直接可以将阿里云的bucket直接挂载到云主机。这样绝对能减少开发难度,很实用于绝大多数初中级的开发者和网站管理者。有了这个软件,让所有discuz/phpwind/wordpress的oss插件都成为浮云,大大增加站长和开发者对OSS的使用率。 三十楼的同学绝对代表了绝大多数用户的“国情”: 30楼 发表于: 07-16 Re阿里云oss云储存投票贴您网站的附件及图片等资源如何处理进来发钱 对于占大部份的小白用户,比起又拍的易用性,阿里的oss连渣都不是,不是不想用oss,而跟本就不会用。阿里云的大公司病太严重了,一些简单的插件都不提供。 PS,官方提供第三方应用的oss挂载到主机的应用显然还很不成熟,一是安装有问题,二是据我的理解把object当内存处理,内存怎么吃得消? 2,第三方oss应用,请官方在原有基础上进行改进作为官方应用使其更加成熟,并制作相应的手册。这样可以减少用户学习的成本,也会提高用户oss的使用率。比如:第三方应用ossync是个很不错的应用,但是我第一次用的时候竟然配置错了,原因是设置中的介绍过于简单。另外同步时,mime类型设置有问题,导致将oss中的对象导入网页时,无法正常解析。参见我另外一个帖子: http://bbs.aliyun.com/read.php?tid=143188 PS,在和售后接触的时候,感觉到阿里云的售后非常尽责,但是我提个要求,把阿里云发布的第三方应用了解一下。如果用户想了解,肯定是有需求,如果用户有需求,又搞不懂,就只能放弃。 3,虽然oss主要的作用是存储和分发,最重要的和最基础的功能是存储和分发。但是存储的内容提供的是下载:其中 打包下载是一个十分重要的应用场景。如果不能提供打包功能,最起码也要提供 批量下载到本地的功能:        这个功能任何一个人(oss的用户以及oss用户的用户)都可以直接从浏览器都可以方便操作的。不能指望用户自己开发这些应用(一则:绝大多数开发者没有这样的能力;二则,如果开发者(弹性主机用户)开发程序,那也只能从oss将object下载到云主机,再打包供用户下载,那么还要oss干什么?使用阿里云主要是考虑网络带宽,而不是存储空间。 4,object列表的分页,oss提供的 [font='Lucida Grande', Helvetica, Arial, Verdana, sans-serif, 宋体]marker,prefix, [font='Lucida Grande', Helvetica, Arial, Verdana, sans-serif, 宋体]delimiter,max-key提供了模拟文件系统的功能,但是实现文件夹浏览的功能还很困难,官方没有提供更简便的方法。 我相信大多数开发者都为分页发愁。另外,max-key最大为100,如果大于object大于100就麻烦了.... 5,限制流量功能,我一直很担心有一天有无聊的人,恶意的下载,我岂不是一天要欠阿里很多钱? 6, 阿里云和oss在部分国外网络访问仍然有问题,期待阿里云在国外有机房。 PS: 我参加了那个在网站上挂阿里云LOGO的活动,怎么还没有兑现奖励呢。 ------------------------- 回43楼plbeast的帖子 再补充一点: 作为一个面向企业的应用,存在让企业批量的上传的应用场景,而这些bucket的私有写权限。目前情况下解决方案是用户将文件上传我们的云主机再从云主机传到oss服务器。这样存在运算资源和带宽的浪费。 能不能提供这样的功能,经过云主机向oss请求,发放一个类似session的东西,授予浏览器一端的用户对于object_dir具有临时的上传、浏览一级下载权限。 并提供直接从浏览器上传到oss的客户端SDK。 用户会用才是硬道理。

plbeast 2019-12-02 01:36:51 0 浏览量 回答数 0

问题

程序员报错行为大赏-配置报错

问问小秘 2020-06-11 13:18:25 6 浏览量 回答数 1

问题

伸缩组:查询伸缩活动

青蛙跳 2019-12-01 21:31:58 466 浏览量 回答数 0

问题

定时任务:查询定时任务

青蛙跳 2019-12-01 21:32:07 687 浏览量 回答数 0

回答

调用CreateStackGroup接口创建资源栈组。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 CreateStackGroup 系统规定参数。取值:CreateStackGroup。 Parameters.N.ParameterKey String 是 Amount 参数的名称。 如果未指定特定参数的名称和值,则ROS将使用模板中指定的默认值。 N最大值为200。 Parameters.N.ParameterValue String 是 12 参数的值。 N最大值为200。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 Description String 否 StackGroup Description 资源栈组描述。长度限制:1~256个字符。 TemplateBody String 否 {"ROSTemplateFormatVersion":"2015-09-01"} 模板的结构。长度为1~51200个字节。您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。 TemplateURL String 否 oss://ros-template/demo 包含模板主体的文件的位置。URL必须指向位于HTTP Web服务器(HTTP或HTTPS),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同。)中的模板(最大大小:524288个字节)。 您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。 ClientToken String 否 123e4567-e89b-12d3-a456-426655440000 保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用英文字母(区分大小写)、数字、字符、连字符和下划线。它最多可包含64个字符。更多详情,请参见如何保证幂等性。 AdministrationRoleName String 否 AliyunROSStackGroupAdministrationRole 用来供ROS服务扮演的RAM管理员角色名称。ROS会以该角色身份进一步扮演执行角色来操作资源栈组中资源栈实例所对应的资源栈。 仅在使用自定义管理员角色来控制哪些用户或组可以管理同一管理员账号中的特定资源栈组时,才指定RAM角色。若不指定,则使用AliyunROSStackGroupAdministrationRole作为默认值。 长度限制:1~64个字符。允许英文字母(区分大小写)、数字或连字符。 ExecutionRoleName String 否 AliyunROSStackGroupExecutionRole 用来供管理员角色扮演的RAM执行角色名称。ROS以该角色身份来操作资源栈组中资源栈实例所对应的资源栈。 若不指定,则使用AliyunROSStackGroupExecutionRole作为默认值。 长度限制:1~64个字符。允许英文字母(区分大小写)、数字或连字符。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 StackGroupId String 2c036e78-9e82-428e-afd6-177f5d04db9d 资源栈组ID。 示例 请求示例 http(s)://[Endpoint]/?Action=CreateStackGroup &Parameters.1.ParameterKey=Amount &Parameters.1.ParameterValue=12 &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 fd0ddef9-9540-4b42-a464-94f7783501d0 FEA9B039-1062-4C7F-8659-CB02B9C68017 JSON 格式 { "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "RequestId": "FEA9B039-1062-4C7F-8659-CB02B9C68017" } 错误码 访问错误中心查看更多错误码。调用DeleteStackGroup接口删除资源栈组。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 示例 请求示例 http(s)://[Endpoint]/?Action=DeleteStackGroup &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 14A07460-EBE7-47CA-9757-12CC4761D47A JSON 格式 { "RequestId": "14A07460-EBE7-47CA-9757-12CC4761D47A" } 错误码 访问错误中心查看更多错误码。调用GetStackGroup接口查询指定资源栈组的信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 GetStackGroup 系统规定参数。取值:GetStackGroup。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 StackGroup Struct 资源栈组详情。 示例 请求示例 http(s)://[Endpoint]/?Action=GetStackGroup &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 ACTIVE fd0ddef9-9540-4b42-a464-94f7783501d0 AliyunROSStackGroupAdministrationRole 2015-09-01 MyStackGroup AliyunROSStackGroupExecutionRole 2020-02-27T07:47:47 DRIFTED COMPLETED 1 0 0 0 1 2 B494A424-77FE-426A-AF1F-A720B4D80DBE JSON 格式 { "StackGroup": { "Status": "ACTIVE", "Parameters": [], "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "AdministrationRoleName": "AliyunROSStackGroupAdministrationRole", "TemplateBody": { "ROSTemplateFormatVersion": "2015-09-01" }, "StackGroupName": "MyStackGroup", "ExecutionRoleName": "AliyunROSStackGroupExecutionRole" }, "StackGroupDriftDetectionDetail": { "DriftDetectionTime": "2020-02-27T07:47:47", "StackGroupDriftStatus": "DRIFTED", "DriftDetectionStatus": "COMPLETED", "DriftedStackInstancesCount": 1, "FailedStackInstancesCount": 0, "CancelledStackInstancesCount": 0, "InProgressStackInstancesCount": 0, "InSyncStackInstancesCount": 1, "TotalStackInstancesCount": 2 }, "RequestId": "B494A424-77FE-426A-AF1F-A720B4D80DBE" } 错误码 访问错误中心查看更多错误码。调用ListStackGroups接口查询资源栈组列表。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ListStackGroups 系统规定参数。取值:ListStackGroups。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 Status String 是 ACTIVE 资源栈组状态。取值范围: ACTIVE DELETED PageSize Long 否 10 分页查询时设置的每页行数。 取值范围:1~50。 默认值:10。 PageNumber Long 否 1 分页查询时设置的页码。起始值:1。默认值:1。 返回数据 名称 类型 示例值 描述 PageNumber Integer 1 分页查询时设置的页码。 PageSize Integer 10 分页查询时设置的每页行数。 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 StackGroups Array 资源栈组列表。 TotalCount Integer 1 查询到的资源栈组总数。 示例 请求示例 http(s)://[Endpoint]/?Action=ListStackGroups &RegionId=cn-hangzhou &Status=ACTIVE &<公共请求参数> 正常返回示例 XML 格式 1 1 10 6523DA68-4FA0-410E-BA85-82F91F5DCD48 ACTIVE fd0ddef9-9540-4b42-a464-94f7783501d0 MyStackGroup 2020-02-27T07:47:47 IN_SYNC JSON 格式 { "PageNumber": 1, "TotalCount": 1, "PageSize": 10, "RequestId": "6523DA68-4FA0-410E-BA85-82F91F5DCD48", "StackGroups": [ { "Status": "ACTIVE", "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "StackGroupName": "MyStackGroup", "DriftDetectionTime": "2020-02-27T07:47:47", "StackGroupDriftStatus": "IN_SYNC" } ] } 错误码 访问错误中心查看更多错误码。调用UpdateStackGroup接口更新资源栈组。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 UpdateStackGroup 系统规定参数。取值:UpdateStackGroup。 Parameters.N.ParameterKey String 是 Amount 参数的名称。 如果未指定特定参数的名称和值,则ROS将使用模板中指定的默认值。 N最大值为200。 Parameters.N.ParameterValue String 是 1 参数的值。 N最大值为200。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 Description String 否 My Stack Group 资源栈组描述。 取值范围:1~256个字符。 AccountIds Json 否 ["123456"] 目标执行账号列表。类型为Json列表。列表长度不超过20。 RegionIds Json 否 ["cn-hangzhou", "cn-beijing"] 目标执行地域列表。类型为Json列表。列表长度不超过20。 TemplateBody String 否 { "ROSTemplateFormatVersion": "2015-09-01" } 模板主体的结构。长度为1~524288个字节。如果长度较大,则建议通过HTTP POST+Body Param的方式,将参数放在请求体中进行传递,避免URL过长而导致请求失败。您必须指定参数TemplateBody或TemplateURL,但不能同时指定。 TemplateURL String 否 oss://ros-template/demo 包含模板主体的文件的位置。URL必须指向位于HTTP Web服务器(HTTP或HTTPS),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同。)中的模板(最大大小:524288个字节)。 您必须指定TemplateBody或TemplateURL参数,但不能同时指定。 ClientToken String 否 123e4567-e89b-12d3-a456-426655440000 保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用字母数字字符(区分大小写),连字符和下划线。 它最多可包含64个字符。更多详情,请参见如何保证幂等性。 OperationDescription String 否 Update stack instances in hangzhou 操作描述。描述该操作的目的或行为。 OperationPreferences Json 否 {"FailureToleranceCount": 1, "MaxConcurrentCount": 2} 操作设置。类型为Json字典。可包含如下字段: FailureToleranceCount 失败容错数。一个资源栈组操作中,若操作结果的失败总数不超过失败容错数,操作则成功,反之则失败。 若不指定FailureToleranceCount,则默认为0。不能同时指定FailureToleranceCount和FailureTolerancePercentage。 取值范围:0~20。 FailureTolerancePercentage 失败容错百分比。一个资源栈组操作中,若操作结果的失败百分比不超过失败容错百分比,操作则成功,反之则失败。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 取值范围:0~100。 MaxConcurrentCount 最大账号并发数。一个资源栈组操作中,最多能有多少个账号同时执行。 不能同时指定MaxConcurrentCount和MaxConcurrentPercentage。 取值范围:1~20。 MaxConcurrentPercentage 最大账号并发百分比。一个资源栈组操作中,最多能有多少百分比的账号同时执行。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 取值范围:1~100。 AdministrationRoleName String 否 AliyunROSStackGroupAdministrationRole 用来供ROS服务扮演的RAM管理员角色名称。ROS会以该角色身份进一步扮演执行角色来操作资源栈组中资源栈实例所对应的资源栈。 仅在使用自定义管理员角色来控制哪些用户或组可以管理同一管理员账号中的特定资源栈组时,才指定RAM角色。若不指定,则使用AliyunROSStackGroupAdministrationRole作为默认值。 取值范围:1~64个字符。允许英文字母(区分大小写)、数字或连字符。 ExecutionRoleName String 否 AliyunROSStackGroupExecutionRole 用来供管理员角色扮演的RAM执行角色名称。ROS以该角色身份来操作资源栈组中资源栈实例所对应的资源栈。 若不指定,则使用AliyunROSStackGroupExecutionRole作为默认值。 取值范围:1~64个字符。允许英文字母(区分大小写)、数字或连字符。 返回数据 名称 类型 示例值 描述 OperationId String 6da106ca-1784-4a6f-a7e1-e723863dc75a 操作ID。 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 示例 请求示例 http(s)://[Endpoint]/?Action=UpdateStackGroup &Parameters.1.ParameterKey=Amount &Parameters.1.ParameterValue=1 &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 14A07460-EBE7-47CA-9757-12CC4761D47A 6da106ca-1784-4a6f-a7e1-e723863dc75a JSON 格式 { "RequestId": "14A07460-EBE7-47CA-9757-12CC4761D47A", "OperationId": "6da106ca-1784-4a6f-a7e1-e723863dc75a" } 错误码 访问错误中心查看更多错误码。调用CreateStackInstances接口在特定账号和地域下创建资源栈实例。 资源栈实例是指特定账号和地域中的资源栈。账号和地域是必填参数——您必须至少指定一个账号和一个地域。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 AccountIds Json 是 ["123456"] 目标执行账号列表。类型为Json列表。列表长度不超过20。 ParameterOverrides.N.ParameterKey String 是 Amount 覆盖参数的名称。 如果未指定特定参数的名称和值,ROS将使用创建资源栈组时所指定的参数。 N最大值为200。 ParameterOverrides.N.ParameterValue String 是 1 覆盖参数的值。如果未指定特定参数的名称和值,ROS将使用创建资源栈组时所指定的参数。 N最大值为200。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 RegionIds Json 是 ["cn-hangzhou", "cn-beijing"] 目标执行地域列表。类型为Json列表。列表长度不超过20。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 ClientToken String 否 123e4567-e89b-12d3-a456-426655440000 保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用英文字母(区分大小写)、数字、字符、连字符和下划线。它最多可包含64个字符。更多详情,请参见如何保证幂等性。 OperationDescription String 否 Create stack instances in hangzhou and beijing 操作描述。描述该操作的目的或行为。 长度限制:1~256个字符。 OperationPreferences Json 否 {"FailureToleranceCount": 1, "MaxConcurrentCount": 2} 操作设置。类型为Json字典。可包含如下字段: FailureToleranceCount 失败容错数。一个资源栈组操作中,若操作结果的失败总数不超过失败容错数,操作则成功,反之则失败。 若不指定FailureToleranceCount,则默认为0。不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:0~20 FailureTolerancePercentage 失败容错百分比。一个资源栈组操作中,若操作结果的失败百分比不超过失败容错百分比,操作则成功,反之则失败。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:0~100 MaxConcurrentCount 最大账号并发数。一个资源栈组操作中,最多能有多少个账号同时执行。 不能同时指定MaxConcurrentCount和MaxConcurrentPercentage。 范围限制:1~20 MaxConcurrentPercentage 最大账号并发百分比。一个资源栈组操作中,最多能有多少百分比的账号同时执行。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:1~100 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 OperationId String 6da106ca-1784-4a6f-a7e1-e723863dc75a 操作ID。 示例 请求示例 http(s)://[Endpoint]/?Action=CreateStackInstances &AccountIds=["123456"] &ParameterOverrides.1.ParameterKey=Amount &ParameterOverrides.1.ParameterValue=1 &RegionId=cn-hangzhou &RegionIds=["cn-hangzhou", "cn-beijing"] &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 14A07460-EBE7-47CA-9757-12CC4761D47A 6da106ca-1784-4a6f-a7e1-e723863dc75a JSON 格式 { "RequestId": "14A07460-EBE7-47CA-9757-12CC4761D47A", "OperationId": "6da106ca-1784-4a6f-a7e1-e723863dc75a" } 错误码 访问错误中心查看更多错误码。调用GetStackInstance接口查询指定资源栈组关联的资源栈实例的详细信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 GetStackInstance 系统规定参数。取值:GetStackInstance。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 StackInstanceAccountId String 是 123456 资源栈实例所属账号。 StackInstanceRegionId String 是 cn-beijing 资源栈实例所属地域。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 StackInstance Struct 资源栈实例详情。 示例 请求示例 http(s)://[Endpoint]/?Action=GetStackInstance &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &StackInstanceAccountId=123456 &StackInstanceRegionId=cn-beijing &<公共请求参数> 正常返回示例 XML 格式 B8A6B693-82C8-419D-8796-DE99EC33CFF9 CURRENT fd0ddef9-9540-4b42-a464-94f7783501d0 123456 MyStackGroup 35ad60e3-6a92-42d8-8812-f0700d450971 cn-hangzhou 2020-02-27T07:47:47 IN_SYNC JSON 格式 { "RequestId": "B8A6B693-82C8-419D-8796-DE99EC33CFF9", "StackInstance": { "Status": "CURRENT", "StatusReason": "", "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "ParameterOverrides": [], "AccountId": "123456", "StackGroupName": "MyStackGroup", "StackId": "35ad60e3-6a92-42d8-8812-f0700d450971", "RegionId": "cn-hangzhou", "DriftDetectionTime": "2020-02-27T07:47:47", "StackDriftStatus": "IN_SYNC" } } 错误码 访问错误中心查看更多错误码。调用ListStackInstances接口查询指定资源栈组关联的资源栈实例列表。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ListStackInstances 系统规定参数。取值:ListStackInstances。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 StackInstanceAccountId String 否 123456 资源栈实例所属账号。 StackInstanceRegionId String 否 cn-beijing 资源栈实例所属地域。 PageSize Long 否 10 分页查询时设置的每页行数。 取值范围:1~50。 默认值:10。 PageNumber Long 否 1 分页查询时设置的页码。 起始值:1。 默认值:1。 返回数据 名称 类型 示例值 描述 PageNumber Integer 1 分页查询时设置的页码。 PageSize Integer 10 分页查询时设置的每页行数。 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 StackInstances Array 资源栈实例列表。 TotalCount Integer 1 查询到的总数。 示例 请求示例 http(s)://[Endpoint]/?Action=ListStackInstances &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 1 1 10 CURRENT fd0ddef9-9540-4b42-a464-94f7783501d0 123456 35ad60e3-6a92-42d8-8812-f0700d450971 MyStackGroup cn-hangzhou 2020-02-27T07:47:47 IN_SYNC 85DE34BD-7FF9-480F-8C21-556E9DA93ACD JSON 格式 { "PageNumber": 1, "TotalCount": 1, "PageSize": 10, "StackInstances": [ { "StatusReason": "", "Status": "CURRENT", "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "AccountId": "123456", "StackId": "35ad60e3-6a92-42d8-8812-f0700d450971", "StackGroupName": "MyStackGroup", "RegionId": "cn-hangzhou", "DriftDetectionTime": "2020-02-27T07:47:47", "StackDriftStatus": "IN_SYNC" } ], "RequestId": "85DE34BD-7FF9-480F-8C21-556E9DA93ACD" } 错误码 访问错误中心查看更多错误码。调用GetStackGroupOperation查询资源栈组操作的信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 GetStackGroupOperation 系统规定参数。取值:GetStackGroupOperation。 OperationId String 是 6da106ca-1784-4a6f-a7e1-e723863dc75a 资源栈组操作ID。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 StackGroupOperation Struct 资源栈组详情。 示例 请求示例 http(s)://[Endpoint]/?Action=GetStackGroupOperation &OperationId=6da106ca-1784-4a6f-a7e1-e723863dc75a &RegionId=cn-hangzhou &<公共请求参数> 正常返回示例 XML 格式 D1E404E6-26EC-4E5F-9AFB-5DFA10C66C1F SUCCEEDED CREATE 2020-01-20T09:22:41.000000 6da106ca-1784-4a6f-a7e1-e723863dc75a MyStackGroup 2020-01-20T09:22:36.000000 fd0ddef9-9540-4b42-a464-94f7783501d0 1 1 cn-hangzhou cn-beijing 2020-02-27T07:47:47 DRIFTED COMPLETED 1 0 0 0 1 2 JSON 格式 { "RequestId": "D1E404E6-26EC-4E5F-9AFB-5DFA10C66C1F", "StackGroupOperation": { "Status": "SUCCEEDED", "Action": "CREATE", "EndTime": "2020-01-20T09:22:41.000000", "OperationId": "6da106ca-1784-4a6f-a7e1-e723863dc75a", "StackGroupName": "MyStackGroup", "CreateTime": "2020-01-20T09:22:36.000000", "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "OperationPreferences": { "FailureToleranceCount": 1, "MaxConcurrentCount": 1, "RegionIdsOrder": ["cn-hangzhou", "cn-beijing"] }, "StackGroupDriftDetectionDetail": { "DriftDetectionTime": "2020-02-27T07:47:47", "StackGroupDriftStatus": "DRIFTED", "DriftDetectionStatus": "COMPLETED", "DriftedStackInstancesCount": 1, "FailedStackInstancesCount": 0, "CancelledStackInstancesCount": 0, "InProgressStackInstancesCount": 0, "InSyncStackInstancesCount": 1, "TotalStackInstancesCount": 2 } } } 错误码 访问错误中心查看更多错误码。调用ListStackGroupOperations接口查询资源栈组操作列表。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 PageSize Long 否 10 分页查询时设置的每页行数。取值:1~50。默认值:10。 PageNumber Long 否 1 分页查询时设置的页码。起始值:1。默认值:1。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 PageNumber Integer 1 分页查询时设置的页码。 PageSize Integer 10 分页查询时设置的每页行数。 TotalCount Integer 1 查询到的总数。 StackGroupOperations Array 资源栈组操作详情列表。 示例 请求示例 http(s)://[Endpoint]/?Action=ListStackGroupOperations &RegionId=cn-hangzhou &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 1 1 10 4D838E26-B457-4871-B6DE-18814050D13D SUCCEEDED fd0ddef9-9540-4b42-a464-94f7783501d0 CREATE MyStackGroup 2020-01-20T09:22:36.000000 6da106ca-1784-4a6f-a7e1-e723863dc75a 2020-01-20T09:22:41.000000 JSON 格式 { "PageNumber": 1, "TotalCount": 1, "PageSize": 10, "RequestId": "4D838E26-B457-4871-B6DE-18814050D13D", "StackGroupOperations": [ { "Status": "SUCCEEDED", "StackGroupId": "fd0ddef9-9540-4b42-a464-94f7783501d0", "Action": "CREATE", "StackGroupName": "MyStackGroup", "CreateTime": "2020-01-20T09:22:36.000000", "OperationId": "6da106ca-1784-4a6f-a7e1-e723863dc75a", "EndTime": "2020-01-20T09:22:41.000000" } ] } 错误码 访问错误中心查看更多错误码。调用StopStackGroupOperation接口停止资源栈组操作。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 StopStackGroupOperation 系统规定参数。取值:StopStackGroupOperation。 OperationId String 是 6da106ca-1784-4a6f-a7e1-e723863dc75a 操作ID。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 示例 请求示例 http(s)://[Endpoint]/?Action=StopStackGroupOperation &OperationId=6da106ca-1784-4a6f-a7e1-e723863dc75a &RegionId=cn-hangzhou &<公共请求参数> 正常返回示例 XML 格式 14A07460-EBE7-47CA-9757-12CC4761D47A JSON 格式 { "RequestId": "14A07460-EBE7-47CA-9757-12CC4761D47A" } 错误码 访问错误中心查看更多错误码。 调用DeleteStackInstances接口删除特定账号和地域下的资源栈实例。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 DeleteStackInstances 系统规定参数。取值:DeleteStackInstances。 AccountIds Json 是 ["123456"] 目标执行账号列表。类型为JSON列表。最多可以指定20个账号。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 RegionIds Json 是 ["cn-hangzhou", "cn-beijing"] 目标执行地域列表。类型为JSON列表。最多可以指定20个地域。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 RetainStacks Boolean 否 false 是否保留资源栈实例所对应的资源栈。若保留,则从资源栈组中删除资源栈组实例时,不会删除对应的资源栈。 ClientToken String 否 123e4567-e89b-12d3-a456-426655440000 保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用英文字母(区分大小写)、数字、字符、连字符和下划线。它最多可包含64个字符。更多详情,请参见如何保证幂等性。 OperationDescription String 否 Delete stack instances in hangzhou and beijing 操作描述。描述该操作的目的或行为。 长度限制:1~256个字符。 OperationPreferences Json 否 {"FailureToleranceCount": 1, "MaxConcurrentCount": 2} 操作设置。类型为JSON字典。可包含如下字段: FailureToleranceCount 失败容错数。一个资源栈组操作中,若操作结果的失败总数不超过失败容错数,操作则成功,反之则失败。 若不指定FailureToleranceCount,则默认为0。不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:0~20 FailureTolerancePercentage 失败容错百分比。一个资源栈组操作中,若操作结果的失败百分比不超过失败容错百分比,操作则成功,反之则失败。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:0~100 MaxConcurrentCount 最大账号并发数。一个资源栈组操作中,最多能有多少个账号同时执行。 不能同时指定MaxConcurrentCount和MaxConcurrentPercentage。 范围限制:1~20 MaxConcurrentPercentage 最大账号并发百分比。一个资源栈组操作中,最多能有多少百分比的账号同时执行。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:1~100 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 OperationId String 6da106ca-1784-4a6f-a7e1-e723863dc75a 操作ID。 示例 请求示例 http(s)://[Endpoint]/?Action=DeleteStackInstances &AccountIds=["123456"] &RegionId=cn-hangzhou &RegionIds=["cn-hangzhou", "cn-beijing"] &StackGroupName=MyStackGroup &RetainStacks=false &<公共请求参数> 正常返回示例 XML 格式 14A07460-EBE7-47CA-9757-12CC4761D47A 6da106ca-1784-4a6f-a7e1-e723863dc75a JSON 格式 { "RequestId": "14A07460-EBE7-47CA-9757-12CC4761D47A", "OperationId": "6da106ca-1784-4a6f-a7e1-e723863dc75a" } 错误码 访问错误中心查看更多错误码。调用UpdateStackInstances接口在特定账号和地域下更新资源栈实例。 资源栈实例是指特定账号和地域中的资源栈。您必须至少指定一个账号和一个地域。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 AccountIds Json 是 ["123456"] 目标执行账号列表。类型为JSON列表。最多可以指定20个账号。 ParameterOverrides.N.ParameterKey String 是 Amount 覆盖参数的名称。 如果未指定特定参数的名称和值,ROS将使用创建资源栈组时所指定的参数。 N最大值为200。 ParameterOverrides.N.ParameterValue String 是 1 覆盖参数的值。如果未指定特定参数的名称和值,ROS将使用创建资源栈组时所指定的参数。 N最大值为200。 RegionId String 是 cn-hangzhou 资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 RegionIds Json 是 ["cn-hangzhou", "cn-beijing"] 目标执行地域列表。类型为JSON列表。最多可以指定20个地域。 StackGroupName String 是 MyStackGroup 资源栈组名称。名称在单个Region内唯一,可以包含数字、英文字母(区分大小写)、连字符、下划线。必须以数字或英文字母开头,且长度不超过255个字符。 ClientToken String 否 123e4567-e89b-12d3-a456-426655440000 保证请求的幂等性。该值由客户端生成,并且必须是全局唯一的。 仅允许使用英文字母(区分大小写)、数字、字符、连字符和下划线。它最多可包含64个字符。更多详情,请参见如何保证幂等性。 OperationDescription String 否 Update stack instances in hangzhou and beijing 操作描述。描述该操作的目的或行为。 长度限制:1~256个字符。 OperationPreferences Json 否 {"FailureToleranceCount": 1, "MaxConcurrentCount": 2} 操作设置。类型为JSON字典。可包含如下字段: FailureToleranceCount 失败容错数。一个资源栈组操作中,若操作结果的失败总数不超过失败容错数,操作则成功,反之则失败。 若不指定FailureToleranceCount,则默认为0。不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:0~20 FailureTolerancePercentage 失败容错百分比。一个资源栈组操作中,若操作结果的失败百分比不超过失败容错百分比,操作则成功,反之则失败。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:0~100 MaxConcurrentCount 最大账号并发数。一个资源栈组操作中,最多能有多少个账号同时执行。 不能同时指定MaxConcurrentCount和MaxConcurrentPercentage。 范围限制:1~20 MaxConcurrentPercentage 最大账号并发百分比。一个资源栈组操作中,最多能有多少百分比的账号同时执行。 不能同时指定FailureToleranceCount和FailureTolerancePercentage。 范围限制:1~100 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID。 OperationId String 6da106ca-1784-4a6f-a7e1-e723863dc75a 操作ID。 示例 请求示例 http(s)://[Endpoint]/?Action=UpdateStackInstances &AccountIds=["123456"] &ParameterOverrides.1.ParameterKey=Amount &ParameterOverrides.1.ParameterValue=1 &RegionId=cn-hangzhou &RegionIds=["cn-hangzhou", "cn-beijing"] &StackGroupName=MyStackGroup &<公共请求参数> 正常返回示例 XML 格式 14A07460-EBE7-47CA-9757-12CC4761D47A 6da106ca-1784-4a6f-a7e1-e723863dc75a JSON 格式 { "RequestId": "14A07460-EBE7-47CA-9757-12CC4761D47A", "OperationId": "6da106ca-1784-4a6f-a7e1-e723863dc75a" } 错误码 访问错误中心查看更多错误码。

1934890530796658 2020-03-24 19:21:24 0 浏览量 回答数 0

问题

云监控查询最新监控数据

反向一觉 2019-12-01 21:25:53 1324 浏览量 回答数 0

问题

【精品问答】带你进入数据库领域

谙忆 2020-04-07 20:45:48 12 浏览量 回答数 1

问题

伸缩配置:查询伸缩配置

青蛙跳 2019-12-01 21:32:01 584 浏览量 回答数 0

问题

19年BAT常问面试题汇总:JVM+微服务+多线程+锁+高并发性能

游客pklijor6gytpx 2020-01-09 10:31:29 1271 浏览量 回答数 3

问题

大数据时代——数据存储技术百问

yq传送门 2019-12-01 20:27:42 31965 浏览量 回答数 35
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站