Hello, I wanted to ask if this is ok.
When uploading a file “upload file” it uses a uPnP port and uses the client endpoint with the current ip.
In my case I have it like this:
sub1.dom1.net:28281 (Public IP1) — “Redirect traffic” —> xxx.xxx.xxx.xxxx:28281 (Public IP2) → Docker StorJ node
But the endpoint does not use the external IP that was configured in Docker but directly the “Public IP2” with a random port, and that give me a lot of fails in the logs.
Thanks
Docker:
environment:
- ADDRESS=sub1.dom1.net:28281
"Remote Address": "xxx.xxx.xxx.xx:38344"
"Remote Address": "xxx.xxx.xxx.xx:38342"
"Remote Address": "xxx.xxx.xxx.xx:38286"
"Remote Address": "xxx.xxx.xxx.xx:38348"
node3132 | 2023-04-22T17:58:03.275Z ERROR piecestore upload failed {"Process": "storagenode", "Piece ID": "2SG7Q22HVZIO4G5VBURKXVJ56C45LQ7NKZOC6NO3CRHRDRGRUDMA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "error": "context canceled", "errorVerbose": "context canceled\n\tstorj.io/common/rpc/rpcstatus.Wrap:75\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload.func5:498\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:504\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:61\n\tstorj.io/common/experiment.(*Handler).HandleRPC:42\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:124\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:114\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35", "Size": 7936, "Remote Address": "xxx.xxx.xxx.xx:38344"}
node3132 | 2023-04-22T17:58:03.292Z ERROR piecestore upload failed {"Process": "storagenode", "Piece ID": "CKVBOWAMXZWRKP5ASVE2UZ2QEI3VCOZ4HHBRN2TRE7EGJJUIEM5Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "error": "context canceled", "errorVerbose": "context canceled\n\tstorj.io/common/rpc/rpcstatus.Wrap:75\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload.func5:498\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:504\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:61\n\tstorj.io/common/experiment.(*Handler).HandleRPC:42\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:124\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:114\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35", "Size": 7936, "Remote Address": "xxx.xxx.xxx.xx:38342"}
node3132 | 2023-04-22T17:58:03.315Z INFO piecestore uploaded {"Process": "storagenode", "Piece ID": "TPFWCRN4KSZVOCUVQSJLVNJ33W7WDMAQY3CPE5NLMOLVR5YDE5CA", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "Size": 36864, "Remote Address": "xxx.xxx.xxx.xx:38286"}
node3132 | 2023-04-22T17:58:03.321Z ERROR piecestore upload failed {"Process": "storagenode", "Piece ID": "ZUXDRGSV7UXHA3LABVD5GYGZHP447EZXVYVPUMMZWFS4WQSQTH2A", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "PUT", "error": "context canceled", "errorVerbose": "context canceled\n\tstorj.io/common/rpc/rpcstatus.Wrap:75\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload.func5:498\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:504\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:61\n\tstorj.io/common/experiment.(*Handler).HandleRPC:42\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:124\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:114\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35", "Size": 7680, "Remote Address": "xxx.xxx.xxx.xx:38348"}
func getRemoteAddr(