问题:已备案,但不能用公网ip访问tomcat部署的页面,用内网ip可以访问?

授权安全组规则可以允许或者禁止与安全组相关联的 ECS 实例的公网和内网的入方向和出方向的访问。您可以随时授权和取消安全组规则。您的变更安全组规则会自动应用于与安全组相关联的ECS实例上。

如果两个安全组只有授权策略不同,则拒绝访问生效,接受访问不生效。

操作步骤

  1. 登录 云服务器管理控制台
  2. 单击左侧导航中的 安全组
  3. 选择地域。
  4. 找到要授权规则的安全组,单击 配置规则
  5. 单击 添加安全组规则
  6. 在弹出的对话框中,设置下面参数:
  • 网卡类型:公网 | 内网。如果该安全组属于专有网络,选择内网
  • 规则方向:出方向 | 入方向。这里的入方向和出方向都是从 ECS 实例的角度来说的。
  • 授权策略:允许 | 拒绝。安全组的 拒绝 策略对应的是 drop,不会回应。
  • 协议类型:全部 | 自定义 TCP | 自定义 UDP | 全部 ICMP | 全部 GRE | SSH (22) | TELNET (23) | HTTP (80) | HTTPS (443) | MS SQL (1433) | Oracle (1521) | My SQL (3306) | RDP (3389) | PostgreSQL (5432) | Redis (6379)。
  • 端口范围:1~65535,格式为“开始端口号/终止端口号”。例如 1/20080/8022/22-1/-1。其中 -1/-1 表示不限制端口。注意:即使是一个端口,也要写成范围形式,如 22/22,不能只写 22,否则会报错 “IP 协议参数格式不正确”。端口 25 默认受限,并且无法通过安全组规则打开。
  • 授权类型:地址段访问 | 安全组访问。
  • 授权对象
  • 如果授权类型为地址段访问,授权对象填写 IP 或者 CIDR 网段格式,如:10.0.0.0 或者 192.168.0.0/24。仅支持 IPv4。
  • 如果授权类型为安全组访问,授权对象从安全组的列表中选择一个安全组。
    注意:出于安全性的考虑,经典网络的内网入方向规则,授权类型优先选择“安全组访问”。如果选择 “地址段访问”,则仅支持单 IP 授权,授权对象的格式只能是 a.b.c.d/32,其中 IP 地址应根据您的实际需求设置,仅支持 IPv4,子网掩码必须是 “/32”。
  • 优先级:1 ~ 100,数值越小,优先级越高。更多优先级信息,详见本文档 “ECS 安全组规则优先级说明” 部分。
  1. 点击 确定,成功为该安全组授权一条安全组规则。

ECS 安全组规则优先级说明

可以简单地总结为:优先级高的生效;如果优先级相同,则时间晚的生效。

  • 越晚创建的安全组,优先级越高。
  • 相同优先级的授权规则,授权策略为 drop (拒绝)的规则优先。
  • 安全组的优先级并非常规理解的“只在安全组内具有可比性”,因为不同安全组策略会最终合并应用到关联的实例上。所以,不同安全组下的规则如果冲突的时候,优先级高的规则生效。

示例:

场景 1:
  • 安全组 A ,创建时间 2015 年,规则 100: drop 80
  • 安全组 B ,创建时间 2014 年,规则 100: accept 80

结果: 80 端口不通

场景 2:
  • 安全组 A ,创建时间 2015 年,规则 100: drop 80
  • 安全组 B ,创建时间 2014 年,规则 90: accept 80

结果: 80 端口能通

场景 3:
  • 安全组 A ,创建时间 2015 年,规则 90: drop 80
  • 安全组 B ,创建时间 2014 年,规则 100: accept 80

结果: 80 端口不通

不生效的解决办法

如果在安全策略变更前后,一直是有数据包在传输,且包间隔很短,那么安全组策略并不会应用新的规则。

解决办法是:客户端断开连接一段时间即可。

 


基于Kafka消息驱动最终一致事务(二)

力奋github地址https://github.com/birdstudiocn