Skip to content

Bug: using FORWARDED_FOR_HEADER treats IP as IPv6 #19

@toredash

Description

@toredash

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 :

// Only set instanceIpFamily if data.instanceIp is provided.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions