在Rococo上节点搭建WebSocket服务如何配置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

image20210130162838128.png

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

image20210130220053163.png

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

image20210130220148582.png

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

image20210130220020612.png

  1. 输入二级域名

image20210130163645749.png

  1. 点击创建

  2. 自动回打开keyManager

  3. DNS 验证

image20210130163943469.png

8.1 创建txt验证

image20210130163852553.png

8.2 进行测试保存到keymanager

image20210130164121373.png

  1. 保存证书

image20210130164219021.png

  1. 下载Nginx证书包

image20210130164318339.png
image20210130164349684.png

得到一个 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

image20210130215222231.png

  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. 测试节点

image.gif

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值