используя ethereum в Docker, как разрешить запрос с хоста и запретить с другого компьютера? - PullRequest
0 голосов
/ 30 июня 2018

В докере запущен узел эфириума с командой: sudo docker run -d --restart=always --name ethereum \ -p 8545:8545 \ -p 30303:30303 \ ethereum/client-go \ --rpc --rpcaddr "0.0.0.0" --syncmode light --rpcapi eth,personal с опцией rpcaddr "0.0.0.0" хост-машина может получить доступ к узлу ethereum, но другая машина с внешним ip также может.

Как запретить внешнюю машину?

Я знаю, что это можно сделать с помощью iptables или какого-то брандмауэра.

Можно ли это сделать с помощью самого докера?

1 Ответ

0 голосов
/ 30 июня 2018

Вы можете ограничить доступ к порту 8545 на уровне хоста. Просто добавьте 127.0.0.1 в качестве адреса привязки для этого порта на docker run:

sudo docker run -d --restart=always --name ethereum \
    -p 127.0.0.1:8545:8545 \
    -p 30303:30303 \
    ethereum/client-go \
    --rpc --rpcaddr "0.0.0.0" --syncmode light --rpcapi eth,personal
...