记一次线上项目突然访问不了恢复过程(redis的问题)

1、线上项目可正常访问时,我最后操作了 热搜词 es 搜索接口,过了一会,项目就访问不了显示报错页面。

2、排查所有 docker 容器服务,都有报错,其中 es 报错如下:

{"type": "server", "timestamp": "2022-06-07T13:02:06,262Z", "level": "ERROR", "component": "o.w.a.d.Monitor", "cluster.name": "elasticsearch", "node.name": "aeba40cfb6ed", "message": "remote_ext_dict javax.net.ssl.SSLPeerUnverifiedException: Host name 'IP地址' does not match the certificate subject provided by the peer (CN=域名) error!", "cluster.uuid": "mCtcfT2QS8O80kUM0RU9Bg", "node.id": "rk0Ld6e3Q52JUY2fAUFCYw"  }

为此,想办法先解决以上问题。(以上问题目前还没解决)

经过与一群友的一番交流,感觉最终问题不在 es,因为项目所有接口,都通过 nginx 配置的 https 代理访问。

3、怀疑是 nginx 配置问题,可能性不大,之前项目正常访问就用这个配置。

4、怀疑项目代码问题,可同一套代理,本地跑完全没问题,部署到线上,访问相关接口文档也能正常获取到数据。最后发现,使用到 redis 的公共接口 无权访问。远程界面工具可访问和操作 redis ,阿里云安全组也开放了 6379 接口,服务器内部也可访问到 redis docker 容器。最后 firewall-cmd –add-port=6379/tcp –permanent ,重启防火墙,项目部署恢复正常访问。