gpt4 book ai didi

docker - 使用 Ansible 复制 SSL 证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:59 26 4
gpt4 key购买 nike

我正在尝试将 SSL 证书从 Ansible 主机 VM 复制到 Docker 主机 VM,但我一直遇到以下错误

FAILED! => {"changed": false, "msg": "Template source files must be utf-8 encoded"}

剧本很简单,只有两个步骤:

- name: Create directory for SSL certificate
file: path=/etc/ssl/certs/pm state=directory

- name: Copy SSL certificate from Ansible host to Docker host
template:
src: inventories/staging/files/pm.jks
dest: /etc/ssl/certs/pm/pm.jks
owner: root
mode: 0755
ignore_errors: true

当我用一个具有相同名称和扩展名的空文件替换 pm.jks 时,复制工作正常,很明显它的内容格式有问题。但我不确定如何解决这个问题。

我正在使用此命令生成证书:

keytool -genkey -alias pm -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore pm.p12 -genkey -alias pm -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore pm.p12 -validity 3650

最佳答案

为什么不使用 Ansible 的 file 方法来代替 template 模块?错误很明显 - 您不能使用 template 模块,因为您引用的源文件不是 UTF-8 编码的。

如果您检查使用您发布的命令创建的文件,您会注意到它是一个二进制文件:

test@toor:~$ file pm.p12
pm.p12: data
test@toor:~$ less pm.p12
"pm.p12" may be a binary file. See it anyway?

要么尝试使用不同的 Ansible 模块,要么尝试以纯文本格式保存文件。

关于docker - 使用 Ansible 复制 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53836862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com