SSL在nginx和IIS下的配置与Renew

nginx下推荐用cert-auto,傻瓜模式,按照命令来就行了。cert-auto的基本验证模式是在网站的目录下创建一个._acme-challenge的文件夹,里面会有一些验证信息。关键的是,要确保你的网站是可以通过80端口正常访问的,因为它会去验证这个文件。如果不能验证呢?可以通过添加DNS TXT记录的方式执行。https://www.sslforfree.com 网站是个不错的通过添加TXT记录的方式手动添加SSL证书的选择。

1.访问网站,选择DNS手动验证模式。根据提示,在域名管理后台添加TXT记录。

2.验证通过点击下载会产生三个文件:private.key  certificate.crt  ca_bundle.crt

3.nginx下使用pem格式,则使用:

openssl rsa -in private.key -text > private.pem

4. fullchain.pem = certificate.crt + ca_bundle.crt ,把文本添加起来即可。https://www.digicert.com/ssl-support/pem-ssl-creation.htm

5. 将private.pem和fullchain.pem复制到服务器上,配置nginx的配置文件:

listen  443 ssl;
ssl on;
ssl_certificate     /alidata/key/fullchain.pem;
ssl_certificate_key  /alidata/key/private.pem;

重启nginx服务即可。

在IIS上,则需要多加一步,在Windows服务器上运行:

openssl pkcs12 -export -out C:\temp\sslforfree\cert.pfx -inkey C:\temp\sslforfree\private.key -in C:\temp\sslforfree\certificate.crt -certfile C:\temp\sslforfree\ca_bundle.crt

确保openssl指令可用,需要下载一些软件包。

最后在IIS服务器的顶层网站框里选择服务器SSL,导入新的 cert.pfx;

选择对应的网站,点击绑定,选择新的cert.pfx证书,确定后重启网站,OK了。

标签: iis,nginx,ssl