SymbolテストネットをSSL化してみた


殴り書きしたので分かりづらい部分がありましたらそっと教えて下さいm(_ _)m
※この記事は2022/03/30 21:30くらいに更新しました。

注意喚起

Twitter上で注意喚起がありました。
IPアドレスと変更したポート番号をセットで公開するべきではないとのことなので
本記事では色々と修正させて頂きます。

以下の設定になっている体で進めさせていただきます。
参考にされる場合は自身の環境に合わせて置き換えてください。

IPアドレスは123.456.7.8
Port番号は56789

SymbolテストネットをSSL化してみた

この記事の対象者

Toshiさんが上げてくれた動画を観て、既にtestnetノード作成が済んでいる人が対象です。

『Symbol テストネットを爆速で建てる!コピペで簡単づ〜さんに感謝』
https://www.youtube.com/watch?v=1MIf_uLkeJ4&t=819s

ドメインを逆引き

まずはサーバーのIPアドレスからドメインを逆引きします。

https://www.cman.jp/network/support/ip.html

管理情報照会実行を押すと以下の画面に切り替わります。

入力の逆引き または 正引き の値を使用するのでどこかにコピーしておいて下さい。
こんな感じの値

例)xxx123456.contaboserver.net

ここからteraterm

teratermでテストネットノードにログインします。

ホスト:test8@123.456.7.8
TCPポート:56789

※teratermが使えない場合はコマンドプロンプトを使用しても大丈夫です。その場合のコマンドはこんな感じ。
ssh -pポート番号 test8@IPアドレス

ssh -p56789 [email protected]

docker-composeを停止

稼働中のdocker-composeを停止します。

cd symbol-bootstrap
symbol-bootstrap stop

docker-compose.yamlを編集

現在のbootstrapではdocker-compose.yamlを編集する必要はないので以下の記述は削除します。

SSL化に必要な情報を追記していきます。

vi target/docker/docker-compose.yml

ファイルの最後に以下の内容を付け足してください。

https-proxy:
container_name: https-proxy
image: steveltn/https-portal:1.19
stop_signal: SIGINT
ports:
- '80:80'
- '3001:443'
environment:
DOMAINS: xxx123456.contaboserver.net -> http://rest-gateway:3000
WEBSOCKET: 'true'
STAGE: production
SERVER_NAMES_HASH_BUCKET_SIZE: 128
restart: on-failure:2
depends_on:
- rest-gateway

DOMAINS: xxx123456.contaboserver.netの部分はサーバーのIPアドレスからドメインを逆引きした際にコピーした値を設定して下さい。

custom.ymlを編集

vi custom.yml

host名を123.456.7.8からxxx123456.contaboserver.netに変更し、httpsProxies:を追記して下さい。
xxx123456.contaboserver.netはそれぞれの環境に合わせて修正して下さい!

nodes:
    - friendlyName: test.villhell-node
      host: xxx123456.contaboserver.net
      maxChainBytesPerSyncAttempt: 50MB
      messageSynchronizationMaxResponseSize: 5MB
      blockDisruptorMaxMemorySize: 1000MB

httpsProxies:
    - excludeDockerService: false

custom.ymlの設定を反映

symbol-bootstrap config -c custom.yml --upgrade

docker-composeの設定を反映してbootstrapを再起動

symbol-bootstrap compose --upgrade
symbol-bootstrap run -d

healthcheckしてみます。

symbol-bootstrap healthCheck

https-proxyの起動が確認できればOKです!
ノードリストに反映されるには少し時間がかかると思います。

teratermにログインできなくなった場合

contaboでOSの再インストールが可能なようです。づ~さんに感謝!
https://twitter.com/dusanjp/status/1507690344661786628?ref_src=twsrc%5Etfw

OSの再インストール後、rootログインできない場合

rootではなくadminに変更される場合があるようです。
上で紹介したづ~さんのツイッターにも記載されています。
その場合はadminでログインしましょう。

[email protected] (←こんな感じ?)

■参考リンク

Symbol node 起ち上げ(ふりーはんど版)【"b" にも対応してます】
https://qiita.com/dusanjp/items/7410700885deea0f5b0b

Symbol Testnet node 構築備忘録
https://qiita.com/dusanjp/items/53fdac033e6df5f75139

Symbol testnet 構築後 https 対応 | うにやさん
https://www.u2yasan.com/ja/content/20200213/79

公開鍵認証・パスワード認証を禁止

https://webkaru.net/linux/ssh-password-auth-prohibit/
https://qiita.com/kazokmr/items/754169cfa996b24fcbf5

ノードリスト
https://symbolnodes.org/nodes_testnet/