文号
827277
阅读
10234
回复
4
收藏
4
本站已启用HTTPS / 附IIS反向代理下Let's Encrypt教程
2016/10/30
IP:广东

QQ图片20161030021500.png

Let's Encrypt 向广大农民群众提供免费的SSL证书。IIS环境下可以用Certify软件实现证书获取自动化。

linux下Apache和Nginx环境利用ACME协议获取Let's Encrypt证书的教程,网上很多,有需求请前往。

  1. (可选)先去XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX学习ACME协议(重点看黄底部分),了解ACME对服务器所有权的验证原理和过程。

  2. 去XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX下载Certify软件并安装。请务必详读Certify对系统的要求及注意事项。

  3. Certify软件可以读取本机IIS中的站点,并在选定的站点目录下进行ACME。先点击New Contact创建一个联系人(就是记录证书申请者的联系信息啦),如果是第一次运行会自动提示创建New Contact。然后点New Certificate,准备申请证书。

    QQ截图20161030022343.png

    截图中选择的是<XXXXXXXXXXXXXXXX>,实际上应该选择XXXXXXXXXXXXXXXX,因为证书是和域名绑定的。

    Auto Create/Update IIS Bindings选项我留空了,大概是申请到证书之后自动帮你设置IIS的意思。毕竟这软件是第一次用,不敢让它乱动生产环境的系统。

  4. 如果中间蹦出各种错误,请详读错误提示和官网说明,见招拆招。一切正常的话,它会在C:\ProgramData\ACMESharp\sysVault\ 下面生成一大堆文件,其中CRTDR目录下是签发给XXXXXXXXXXXXXXXX的证书。这个证书生成之后应该会被马上安装,并弹出窗口。

  5. 回到IIS,增加一条HTTPS绑定,选择刚安装的证书。

    QQ截图20161030024725.png

  6. 因为目前科创的架构是IIS(http)反向代理到Node.js(http),为了支持https,要创建一条新的反向代理规则,将IIS(https)通过SSL卸载,反向代理到Node.js(http)。所谓SSL卸载,就是让IIS帮我处理入站连接的SSL协议,从IIS到Node.js之间的通信仍然是HTTP。这么做的好处是不需要对现有的Node.js应用做任何修改。

    QQ截图20161030025255.png

    经过设置,我可以让反向代理规则1匹配所有的HTTP入站请求(直接转发给node.js),让规则2匹配所有的HTTPS请求(SSL卸载之后,转发给node.js)。将来如果希望强制HTTPS,可以把代理规则1改成重定向规则,将所有http入站请求重定向到https协议上去。

10年1个月前修改于 10年1个月前IP:四川
827303
1楼
感谢分享。。。好像是WS2012R2
引用
评论
10年1个月前IP:德国
827334
2楼
不知道站方是出于什么考虑而选择的这一家CA,虽然自动化生成证书是他们的服务特色,但由于免费等原因,在去年(2015年)年底的一个技术交流大会上,Let's Encrypt公开报告显示他们正在受到同行的围剿。另外,一些政府部门也对此CA有所刁难。

Let's Encrypt面临着种种困境。
引用
评论
novakon作者
10年1个月前IP:广东
827352
3楼
引用 熊猫阿Bo:
不知道站方是出于什么考虑而选择的这一家CA,虽然自动化生成证书是他们的服务特色,但由于免费等原因,在去年(2015年)年底的一个技术交流大会上,Let's Encrypt公开报告显示他们正在受到同行的……
造福了别有用心的人民群众,害惨了广大无辜资本家。
引用
评论
9年11个月前IP:德国
829161
4楼
强烈建议站方起用AEAD支持。无论是Chacha20-poly1305还是AES-GCM,都是目前的主流
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的