在配置 chef provisioner 时,运行“terraform apply”后遇到以下错误
* chef_environment.terraform_01: Post https://10.90.239.223/organizations/mykitchen/environments: x509: cannot validate certificate for 10.90.239.223 because it doesn't contain any IP SANs
我读到过证书可能需要不同的“CN”字段,但我不记得手动设置证书作为chef 服务器安装过程。
我有安装后发现的这些证书
$ls /var/opt/opscode/nginx/ca
dhparams.pem localhost.crt localhost.key
我认为这些是正在使用的但我不确定。
我也已经设置了
ssl_verify_mode = ":verify_none"
在我的 chef provisioner 配置中,但我不知道这是否相关或有效。
我是否需要(重新)生成证书?如果需要,我该如何为 chef 生成证书?我已经在同一台机器上使用以下方法为 matchbox 服务生成了证书这脚本,我会使用它们吗?
更新:
我试过这个
openssl req -x509 -newkey rsa:4096 -keyout chef.key -out chef.pem -nodes -days 365 -config req.conf
sudo chown opscode:opscode chef.*
sudo mv chef.* /var/opt/opscode/nginx/ca/.
sudo chef-server-ctl stop
sudo chef-server-ctl reconfigure
sudo chef-server-ctl start
我的 req.conf
[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
C=US
ST=mystate
L=mycity
O=DevOps
OU=myname
[email protected]
CN = 10.90.239.223
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
IP = 10.90.239.223
DNS.1 = 10.0.90.45
DNS.2 = 10.90.50.8
email = [email protected]
URI = https://10.90.239.223/
但我仍然
chef_environment.terraform_01: Post https://10.90.239.223/organizations/mykitchen/environments: x509: cannot validate certificate for 10.90.239.223 because it doesn't contain any IP SANs
答案1
回答于https://devops.stackexchange.com/questions/3168/terraform-chef-provisioning-cannot-validate-certificate-for-10-90-239-223-beca/3170#3170。简短版本不再用于openssl
制作证书,因为它太复杂了,难以正确使用。