我已按照此处的说明(对名称进行了稍微编辑):https://learn.microsoft.com/en-us/azure/application-gateway/self-signed-certificates使用以下代码:
但是当我跑步时
openssl s_client -connect localhost:443 -servername [DOMAIN] -showcerts -CAfile ./rootCA.crt
我得到:
depth=1 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
verify return:1
depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = mydomain.com
verify error:num=7:certificate signature failure
verify return:1
depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = mydomain.com
verify return:1
我做错了什么??仅供参考,我仅提供一些所需信息的 FQDN 和电子邮件地址,仅提供其他信息。
此外,我运行了
openssl verify -no-CAfile -no-CApath -trusted rootCA.crt certificate.crt
,上面写着certificate.crt: OK
。
虽然这个答案不是由 AI 生成的 - 我确实使用 OpenAI 来寻找解决方案。
我对这个错误的解决方案是:
cat certificate.crt rootCA.crt > fullchain.crt
openssl s_client -connect localhost:443 -servername my.domain -showcerts -CAfile ./rootCA.crt
并且没有报告验证错误但是(我知道这不在原始问题中)我曾希望对 Azure 前门使用自签名证书。但遗憾的是,“Azure 前门不支持使用椭圆曲线加密算法的证书。此外,您的证书必须具有包含叶证书和中间证书的完整证书链。根 CA 还必须是 Microsoft 受信任 CA 列表的一部分。” [https://learn.microsoft.com/en-us/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain?tabs=powershell]。
此外,我还能够通过本地 VNET 访问 SSL 证书(尽管 Chrome 报告为不受信任),这表明该证书至少已由 Apache 设置和使用。