Let's Encrypt 向广大农民群众提供免费的SSL证书。IIS环境下可以用Certify软件实现证书获取自动化。
linux下Apache和Nginx环境利用ACME协议获取Let's Encrypt证书的教程,网上很多,有需求请前往。
(可选)先去XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/acme-spec/学习ACME协议(重点看黄底部分),了解ACME对服务器所有权的验证原理和过程。
去XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/下载Certify软件并安装。请务必详读Certify对系统的要求及注意事项。
Certify软件可以读取本机IIS中的站点,并在选定的站点目录下进行ACME。先点击New Contact创建一个联系人(就是记录证书申请者的联系信息啦),如果是第一次运行会自动提示创建New Contact。然后点New Certificate,准备申请证书。
截图中选择的是<XXXXXXXXXXXXXXXX>,实际上应该选择XXXXXXXXXXXXXXXX,因为证书是和域名绑定的。
Auto Create/Update IIS Bindings选项我留空了,大概是申请到证书之后自动帮你设置IIS的意思。毕竟这软件是第一次用,不敢让它乱动生产环境的系统。
如果中间蹦出各种错误,请详读错误提示和官网说明,见招拆招。一切正常的话,它会在C:\ProgramData\ACMESharp\sysVault\ 下面生成一大堆文件,其中CRTDR目录下是签发给XXXXXXXXXXXXXXXX的证书。这个证书生成之后应该会被马上安装,并弹出窗口。
回到IIS,增加一条HTTPS绑定,选择刚安装的证书。
因为目前科创的架构是IIS(http)反向代理到Node.js(http),为了支持https,要创建一条新的反向代理规则,将IIS(https)通过SSL卸载,反向代理到Node.js(http)。所谓SSL卸载,就是让IIS帮我处理入站连接的SSL协议,从IIS到Node.js之间的通信仍然是HTTP。这么做的好处是不需要对现有的Node.js应用做任何修改。
经过设置,我可以让反向代理规则1匹配所有的HTTP入站请求(直接转发给node.js),让规则2匹配所有的HTTPS请求(SSL卸载之后,转发给node.js)。将来如果希望强制HTTPS,可以把代理规则1改成重定向规则,将所有http入站请求重定向到https协议上去。
引用 熊猫阿Bo:造福了别有用心的人民群众,害惨了广大无辜资本家。
不知道站方是出于什么考虑而选择的这一家CA,虽然自动化生成证书是他们的服务特色,但由于免费等原因,在去年(2015年)年底的一个技术交流大会上,Let's Encrypt公开报告显示他们正在受到同行的……
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。