[squid-users] websockets through Squid

Amos Jeffries squid3 at treenet.co.nz
Sat Oct 17 03:03:00 UTC 2020


On 17/10/20 3:07 am, Vieri wrote:
> Hi,
> 
> I think I found something in the cache.log I posted before.
> 
> sendRequest: HTTP Server conn* local=PUB_IPv4_ADDR_3
> ...
> sendRequest: HTTP Server conn* local=PUB_IPv4_ADDR_2
> 
> It seems that Squid sometimes connects to the remote HTTP server with either one of the available addresses on the Squid box (eg. PUB_IPv4_ADDR_2, PUB_IPv4_ADDR_3, etc). These addresses are on ppp interfaces. In fact, I noticed that if the Firefox client shows this error message in its console as in my previous post:
> 
> The connection to wss://ed1lncb62801.webex.com/direct?type=websocket&dtype=binary&rand=1602830016480&uuidtag=5659FGE6-DF29-47A7-859A-G4D5FDC937A2&gatewayip=PUB_IPv4_ADDR_2 was interrupted while the page was loading.
> 
> then I see a corresponding 'sendRequest: HTTP Server conn* local=PUB_IPv4_ADDR_3' when trying to connect to the same origin. So I'm deducing that the remote websocket server is expecting a client connection from PUB_IPv4_ADDR_2 when in fact Squid is trying to connect from PUB_IPv4_ADDR_3 -- hence the "interruption" message.

That implies a broken server. For new connections through a proxy there
is no guarantee of any particular IP address being used. As you can see
from that behaviour the OS may select any of its available addresses if
it needs to.


> 
> My test Squid instance is running on a multi-ISP router, so I guess I have to figure out how to either force connections out one interface only for the Squid cache or tell Squid to only bind to one interface.
> 

tcp_outgoing_* directives can send details to the OS to hint at
preferred server connection details. It is up to the OS whether those
are followed or not.


Amos


More information about the squid-users mailing list