scc-state icon indicating copy to clipboard operation
scc-state copied to clipboard

Bug: using FORWARDED_FOR_HEADER treats IP as IPv6

Open toredash opened this issue 6 years ago • 0 comments

There seems to be a bug when using FORWARDED_FOR_HEADER.

I have scc-state behind a AWS ALB load balancer, which add "X-Forwarded-For" header to HTTP request to inform about the callers IP address. I added FORWARDED_FOR_HEADER="x-forwarded-for" to scc-state, and based on the logs from scc-state, it is reporting correctly the IP address of scc-worker and scc-broker processes connection to scc-state via the ALB.

But when scc-state calls getSCCBrokerClusterState, it will return an URI with brackets [] : https://github.com/SocketCluster/scc-state/blob/master/server.js#L79-L85, causing the workers to throw an parse error since ws://[10.150.34.147]:50020/socketcluster is not a valid URI.

It will only return a non-bracket (IPv4) URI if instanceIp is provided : https://github.com/SocketCluster/scc-state/blob/68b1b861d98cc8b3b995b47d23f07c85d9a8f2c6/server.js#L193

I'm not sure if this is considered a bug, but I expected scc-state to be able to detect what instanceIpFamily should be when using FORWARDED_FOR_HEADER.

toredash avatar Oct 22 '19 12:10 toredash