在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免费证书申请步骤

  1. 先注册一个二级域名

https://dcc.godaddy.com/manage/aresprotocol.com/dns

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 进入 https://freessl.cn/ 官网注册一个账号

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 下载 https://keymanager.org/ 对应系统版本的证书管理工具

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 安装证书管理工具根据提示进行安装

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 输入二级域名

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 点击创建

  2. 自动回打开keyManager

  3. DNS 验证

在Rococo上节点搭建WebSocket服务如何配置SSL

8.1 创建txt验证

在Rococo上节点搭建WebSocket服务如何配置SSL

8.2 进行测试保存到keymanager

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 保存证书

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 下载Nginx证书包

在Rococo上节点搭建WebSocket服务如何配置SSL 在Rococo上节点搭建WebSocket服务如何配置SSL

得到一个 rococo-aresprotocol-com-nginx-0130164430.zip 压缩包

  1. ubuntu 安装Nginx
sudo apt-get install nginx # 安装成功后 默认目录 /etc/nginx/   日志查看目录/var/log/nginx/  systemctl stop nginx #关闭Nginx  systemctl start nginx #启动Nginx

在Rococo上节点搭建WebSocket服务如何配置SSL

  1. 上传到服务器,配置我们的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; }
  1. 重启Nginx
sudo service nginx restart
  1. 测试节点

在Rococo上节点搭建WebSocket服务如何配置SSL

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注