I am in the process of deploying a local eth node using GETH. I am using docker compose to orchestrate the process.

I was hoping to get an answer of whether I am exposing my ports safely. I'm concerned exposing, however I was having difficulty connecting to the node from localhost when I only allowed localhost.

I am running GETH with these flags:

  - --http
  - --http.api=eth,net,web3,engine,admin
  - --http.addr=
  - --ws
  - --ws.origins=
  - --ws.addr=
  - --ws.api=eth,net,web3
  - --graphql
  - --authrpc.addr=
  - --authrpc.jwtsecret=/root/.ethereum/jwt.hex
  - --authrpc.port=8551
  - --txlookuplimit=0

sudo ss -tlpn enter image description here

  • When I set the *.addr to localhost, I am unable to access the node and get an error "Recv failure: Connection was reset" when I try to curl localhost:8545
    – Anton M
    Commented Sep 1, 2022 at 4:23
  • It would be really helpfull if you would also attach out put of this command to check ports status on your machine Linux: sudo ss -tlpn Mac: lsof -i -P | grep -i "listen" Commented Sep 1, 2022 at 7:10
  • @Akbar30bill Thanks, I added a screenshot
    – Anton M
    Commented Sep 1, 2022 at 21:56
  • To set up a private eth node you can create an SSH tunnel into the or ssh portforwarding into the machine hosting your node.
    – Danny B
    Commented Sep 2, 2022 at 0:39

1 Answer 1


So, The flags used for GETH are safe and reasonable. But the logic behind docker ports is exposing the 8551 port to the internet, which shouldn't be exposed. So I suggest not opening that port at all and only using it inside the docker containers to connect the consensus layer to the execution layer (Prysm and Geth)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.