root用户和子账户的OPENSSLDIR不一样导致docker容器内程序访问报证书错误

问题背景

机器环境:redhat9

docker部署了一个应用程序quartzui,作用是定时任务调度平台,但是最近由于IT部门更新了根证书,导致出现docker容器内的任务调度平台调用程序url都失败,且这些url很明显的一个问题就是https开头。

过程分析

我跟IT部门的老外先简单阐述了我的问题如下:

On my Linux environment respectively with rbadmin_app1 and root account to perform the curl command request address ' https://aaacn-dan.apac.bosch.com:444/api/Wiki/UpdateLeaderHierarchy'. rbadmin_app1 runs normally, but the root account fails. And then I execute commands under the root account 'openssl verify the/etc/pki/ca - trust/source/anchors/xxxx - ca - DE_pem. Cer', verification certificate result ok, but at the root account validation error failure. So I want know what is the reason for this?

得到的回复却是:Sorry, I don't know, maybe you should check your anaconda service, we did't installed that service.

然而在他提醒我后,我才发现图中的CAfile地址中包含了anaconda3的地址,这让我感觉很奇怪,为什么会去读这个下面的证书?如果去这个路径下面找,那自然是没有根证书信息的,定时任务平台请求其他服务,肯定会报证书相关的错误。所以带着疑问我去找了下是什么原因,最终发现是Anaconda默认进入虚拟环境设置开启了,将环境变量切换成了anaconda所在证书的路径,所以才导致docker读取环境变量的时候读到了错误的地址,引发了这个问题。

解决

执行如下命令关闭该功能即可,同时我去验证容器内定时任务平台的访问也都正常了,读取到了正常应该读取的OPENSSLDIR地址

bash 复制代码
conda config --set auto_activate_base false

至于怎么看OPENSSLDIR,命令如下

bash 复制代码
openssl version -d
相关推荐
阿杰技术1 小时前
SillyTavern(酒馆)AI聊天:本地与云服务器部署全攻略
运维·服务器
网络与设备以及操作系统学习使用者1 小时前
vi与vim在openEuler中的差异及应用
linux·运维·网络·学习·vim
ylscode1 小时前
巨齿鲨突袭GitHub:5500余仓库沦陷,开源供应链安全防线再遭重创
运维·服务器·网络·安全·安全威胁分析
shy_snow1 小时前
Nginx解决跨域问题
运维·nginx
c++逐梦人1 小时前
epoll ET服务器(Reactor模式)
运维·服务器·php
云游牧者2 小时前
K8S-Helm包管理全解-从入门到Chart开发实战指南
云原生·容器·kubernetes·helm·chart模板
牛奔2 小时前
codebuddy 桌面版 如何配置自己的模型
运维·服务器·开发语言·php
SilentSamsara2 小时前
日志与可观测性:logging 进阶配置与结构化日志实战
运维·开发语言·python·青少年编程
学困昇2 小时前
Linux IPC 详解:匿名管道、命名管道、共享内存与信号量
linux·运维·服务器·c语言·c++·人工智能
WAIT_TIME3 小时前
基于 Docker 快速构建 MySQL InnoDB Cluster 高可用集群与 Router 读写分离
mysql·docker·集群·innodb cluster