gateway在eureka注册报java.lang.IndexOutOfBoundsException

发布于:2025-02-10 ⋅ 阅读:(63) ⋅ 点赞:(0)

gateway一直都正常运行,突然有一天报错,访问不了服务,报错日志如下

2025-01-06 07:37:37.364 [DiscoveryClient-CacheRefreshExecutor-0] ERROR com.netflix.discovery.DiscoveryClient - Cannot fetch registry from server
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(Unknown Source)

重启gateway之后又恢复正常,问题原因是:开启了actuator。导致暴露远程代码执行漏洞

2.0暴露端点的两种方式

方式1(一个个的去开启需要暴露的端点):

.properties文件配置示例

management.endpoint.env.enabled=true
management.endpoints.web.exposure.include=env

.yml文件配置示例

management.endpoint.env.enabled: true
management.endpoints.web.exposure.include: env

方式2(直接开启和暴露所有端点或者多个端点,代替的全部放开请使用*,或把需要开放的接口端点使用“,”隔开,如:env,health。):

.properties文件配置示例

management.endpoints.web.exposure.include=*

.yml文件配置示例

management.endpoints.web.exposure.include: "*"

参考:记录一次网关异常_error org.springframework.scheduling.support.tasku-CSDN博客

关于 SCG 远程执行漏洞情况说明

https://zhuanlan.zhihu.com/p/407710777

Spring Cloud Gateway远程代码执行漏洞(CVE-2022-22947) - LalaTina - 博客园


网站公告

今日签到

点亮在社区的每一天
去签到