自签名证书效果很好,在 ubuntu 机器上生成该证书的命令是:
openssl req -x509 -newkey rsa:4096 -keyout private.key -out cert.crt -days 365 -nodes
如果客户端使用 IP 地址而不是域名,则会失败。
要使 IP 地址正常工作,请按照之前关于由于不包含任何 IP SAN 而导致握手失败的问题和答案,对/etc/ssl/openssl.cnf
进行了修改,将subjectAltName = IP:192.168.2.107
添加到[v3_ca]
部分。
此更改使 IP 地址正常工作,但域名不再起作用。错误消息为:
x509: certificate is not valid for any names, but wanted to match yoursubdomain.yourdomain.com
关于 SAN 的另一个来源基本上是建议相同的,但没有明确提示如何使 IP 地址和 DNS 同时工作。
如何让 IP 地址和域名协同工作?