背景
在substrate的开发过程中,我们本地可以启动节点然后通过polkadot.js.org来查看节点的运行情况。在localhost的情况下,不需要关心SSL的证书。
但是在项目的开发中,节点一般需要运行在服务里面,而polkadot.js.org目前只接受WebSocket连接,这是因为WebSocket是长链接,可以订阅区块数据,而RPC很难做到这一点。
那我们需要搭建一个WebSocket才能让polkadot.js.org访问节点。
WebSocket需要设置一个安全的代理连接才可以工作起来,官方给了一个链接
https://wiki.polkadot.network/docs/en/maintain-wss#set-up-nginx-server
来让我们参考,下面我们将介绍下通过godaddy生成免费证书。
godaddy免费证书申请步骤
- 先注册一个二级域名
https://dcc.godaddy.com/manage/aresprotocol.com/dns
- 进入 https://freessl.cn/ 官网注册一个账号
- 下载 https://keymanager.org/ 对应系统版本的证书管理工具
- 安装证书管理工具根据提示进行安装
- 输入二级域名
-
点击创建
-
自动回打开keyManager
-
DNS 验证
8.1 创建txt验证
8.2 进行测试保存到keymanager
- 保存证书
- 下载Nginx证书包
得到一个 rococo-aresprotocol-com-nginx-0130164430.zip 压缩包
- ubuntu 安装Nginx
sudo apt-get install nginx # 安装成功后 默认目录 /etc/nginx/ 日志查看目录/var/log/nginx/
systemctl stop nginx #关闭Nginx
systemctl start nginx #启动Nginx
- 上传到服务器,配置我们的Nginx地址
root@node2:/home/nginx# ls
rococo-aresprotocol-com-nginx-0130164430.zip
root@node2:/home/nginx# ls
rococo.aresprotocol.com_chain.crt rococo.aresprotocol.com_key.key rococo-aresprotocol-com-nginx-0130164430.zip
修改我们的nginx.conf
vi nginx.conf
server {
server_name rococo.aresprotocol.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
proxy_pass http://localhost:9944;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /home/nginx/rococo.aresprotocol.com_chain.crt;
ssl_certificate_key /home/nginx/rococo.aresprotocol.com_key.key;
ssl_session_cache shared:cache_nginx_SSL:1m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
- 重启Nginx
sudo service nginx restart
- 测试节点
来源:oschina
链接:https://my.oschina.net/u/4351537/blog/4943116