HTTPS Node Tutorial是IOTA生态系统上的一个项目。IOTA生态系统自2018年5月1日正式开放以来,社区活跃开发者以及项目数量增长迅速。自5月1日开始至本文发表时,开发者数量由这篇文章初始记录的680名增长至1524名,项目由记录的38个增长至109个,教程类资源由记录的8个增长至40个。
HTTPS Node Tutorial将指导你为IRI节点启用HTTPS协议以提高节点的安全性,HTTPS协议能够防止中间人(MITM)攻击,阻止攻击者篡改IOTA客户端(钱包、设备等)和节点之间发送的内容。重要的是,新的Trinity钱包将仅支持通过HTTPS协议与节点通信。
注意:
HTTPS Node Tutorial使用的是Let's Encrypt免费https证书服务,请事先查看Let's Encrypt的服务协议。
先决条件
- 你的IRI全节点需要运行在系统为Ubuntu 14.04+或Debian 8+的服务器上
- 准备(购买)一个域名,设置DNS,绑定一个记录到服务器IP(例如node.iotachina.com)
- 在服务器的防火墙中放行以下端口:
-
- IRI端口(通常为14265)
- HTTPS端口(通常为443)
-
配置HTTPS
- 在终服务器终端内运行以下命令:
curl -sL https://raw.githubusercontent.com/eukaryote31/auto-nginx-https/master/easyhttps | sudo bash
- 输入你的邮箱,回车确认
- 输入上一步骤中设置的域名记录(即node.iotachina.com),回车确认
- 剩余的交给脚本来完成即可。
如果一切顺利,完成后我们就可以通过端口443上的https来连接到您的节点!
验证配置
在Qualys SSL Server Test中输入域名。
接下来会显示你的HTTPS服务的评级内容。
检查Apple App Transport Security(ATS)是否与apptransport.info相符合。
确保“Apple ATS 9 / ios9”测试通过了Qualys SSL的服务器测试(查看“握手模拟”)。
如此处所示,诊断任何与nscurl (macOS)有关的问题。
相关链接:
HTTPS Node生态系统主页:https://ecosystem.iota.org/tutorials/https-node-tutorial
HTTPS Node脚本:https://github.com/eukaryote31/auto-nginx-https