<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>I have been trying to make websockets work over HTTPS but so far I haven't been able to.</div><div><br></div><div>I'm trying the following websites that use websockets and none of them work:</div><div><a href="http://speedtest.net">speedtest.net</a></div><div><a href="http://web.whatsapp.com">web.whatsapp.com</a></div><div><a href="https://slack.com/help/test">https://slack.com/help/test</a><br></div><div><br></div><div>If I explicitly splice those domain names in squid.conf they work fine.</div><div><br></div><div>This is a transparent HTTPS proxy.</div><div><br></div><div>Below is my configuration:</div><div><br></div><div>=============</div><div><div>acl SSL_ports port 443</div><div>acl CONNECT method CONNECT</div><div>log_mime_hdrs on</div><div>http_access deny !Safe_ports</div><div>http_access deny CONNECT !SSL_ports</div><div>http_access allow localhost manager</div><div>http_access deny manager</div><div>https_port 3128 intercept ssl-bump cert=/etc/squid/ssl_cert/proxyCA.pem generate-host-certificates=on dynamic_cert_mem_cache_size=256KB</div><div>sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/spool/squid/ssl_db -M 4MB</div><div><br></div><div>acl serverIsws ssl::server_name_regex speedtest\.net$</div><div>acl step1 at_step SslBump1</div><div>ssl_bump peek step1</div><div>ssl_bump splice serverIsws</div><div>ssl_bump bump !serverIsws all</div><div>on_unsupported_protocol tunnel all</div><div><br></div><div>debug_options ALL,1 26,1 33,9 83,9 28,9 81,9 11,2</div><div>http_access allow localnet</div><div>http_access allow localhost</div><div>http_access deny all</div><div>http_port 3129 intercept</div><div>http_port 3130</div><div><br></div><div>coredump_dir /var/spool/squid</div><div>refresh_pattern ^ftp:           1440    20%     10080</div><div>refresh_pattern ^gopher:        1440    0%      1440</div><div>refresh_pattern -i (/cgi-bin/|\?) 0     0%      0</div><div>refresh_pattern .               0       20%     4320</div></div><div>===================</div><div><br></div><div>In the logs I see 400 Bad request :</div><div><br></div><div>==================================================</div><div><div>2019/02/21 12:52:38.004 kid1| 11,2| http.cc(723) processReplyHeader: HTTP Server RESPONSE:</div><div>---------</div><div>HTTP/1.1 400 Bad Request</div><div>Date: Thu, 21 Feb 2019 20:46:34 GMT</div><div>Transfer-Encoding: chunked</div><div>Connection: keep-alive</div><div><br></div><div>----------</div><div>2019/02/21 12:52:38.004 kid1| ctx: exit level  0</div><div>2019/02/21 12:52:38.004 kid1| 83,3| AccessCheck.cc(42) Start: adaptation off, skipping</div><div>2019/02/21 12:52:38.004 kid1| 33,5| store_client.cc(319) doCopy: store_client::doCopy: co: 0, hi: 117</div><div>2019/02/21 12:52:38.004 kid1| 33,3| Pipeline.cc(35) front: Pipeline 0x1c47830 front 0x17948a0*3</div><div>2019/02/21 12:52:38.004 kid1| 33,3| Pipeline.cc(35) front: Pipeline 0x1c47830 front 0x17948a0*3</div><div>2019/02/21 12:52:38.004 kid1| 11,2| Stream.cc(266) sendStartOfMessage: HTTP Client local=<a href="http://31.13.67.52:443">31.13.67.52:443</a> remote=<a href="http://192.168.112.143:46408">192.168.112.143:46408</a> FD 14 flags=33</div><div>2019/02/21 12:52:38.005 kid1| 11,2| Stream.cc(267) sendStartOfMessage: HTTP Client REPLY:</div><div>---------</div><div>HTTP/1.1 400 Bad Request</div><div>Date: Thu, 21 Feb 2019 20:46:34 GMT</div><div>X-Cache: MISS from squidserver</div><div>X-Cache-Lookup: MISS from squidserver:3130</div><div>Transfer-Encoding: chunked</div><div>Via: 1.1 squidserver (squid/4.1)</div><div>Connection: keep-alive</div><div><br></div><div><br></div><div>----------</div></div><div>============================================</div><div><br></div><div>I'm not interested in bumping the websockets, I just want HTTPS interception to work as well as websockets.</div><div><br></div><div>Any help is welcomed.</div><div><br></div><div>Thanks,</div><div><br></div></div></div></div></div>