在substrate的开发过程中,我们本地可以启动节点然后通过polkadot.js.org来查看节点的运行情况。在localhost的情况下,不需要关心SSL的证书。
背景
在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
- 测试节点
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。