linux系统配置覆盖服务配置,吗? 2021-06-30 22:57 今天在升级我的网站时发现了个小问题,记录一下。 我的网站中用到了minio,于是就有相关配置,比如accessKey,secretKey这些。在项目配置文件中是minio.accessKey=root,minio.secretKey=xxxxx这样。 我在本地调试的好好的,可以正常使用这些配置连接上minio。可是部署到阿里云服务器上就不行了,错误信息大概是:error occurred ErrorResponse(code = SignatureDoesNotMatch... 明显是告诉我密码错误,可是因为我连的是同一个Minio服务,所以本地和远程使用的都是这套配置呀。这就奇了怪了,本地好好的,一到远程服务器就不行了。 后来就将配置信息在启动过程中打印了出来,发现打印出的secretKey是12345678,可我的secretKey不是这个。找到问题后本着先解决问题的念头,就往启动脚本中添加了--minio.secretKey=xxxxx,手动指定来强制它使用这个secretKey,于是问题果然解决了。 就当我想要将这个问题记录下来明天研究时,突然想起来这台服务器之前我用它搭建过minio,因此/etc/profile中也有这套配置,那会不会是linux系统配置覆盖了服务配置呢? 于是打开profile文件看了下,果然这个配置还在: ![](http://minio.riun.xyz/riun1/475d7a61-1987-48d9-b805-686a0f3197a7.jpg) 可以看到linux机器中的系统配置是MINIO_ACCESS_KEY=root,MINIO_SECRET_KEY=12345678。和我服务启动过程中打印出来的配置一样。 这样可以断定服务的配置确实会被系统配置覆盖。可是这个覆盖规则有点神奇啊,MINIO_SECRET_KEY居然能匹配到minio.secretKey并将其覆盖。更神奇的是我将系统配置删除、source /etc/profile之后,再启动服务,还是不行,使用到的还是12345678,也不知道是缓存还是别的什么东西。最后只好还是在启动脚本中添加--minio.secretKey=xxxxx来强制指定配置了。 --END--
发表评论