[squid-users] FW: Encrypted browser-Squid connection errors
Grant Taylor
gtaylor at tnetconsulting.net
Mon Oct 31 22:38:09 UTC 2022
On 10/30/22 6:59 AM, squid3 at treenet.co.nz wrote:
> Duane W. would be the best one to ask about the details.
>
> What I know is that some 10-12 years ago I discovered an message by
> Duane mentioning that W3C had (given or accepted) port 3128 for Squid
> use. I've checked the squid-cache archives and not seeing the message.
>
> Right now it looks like the W3C changed their systems and only track the
> standards documents. So I cannot reference their (outdated?) protocol
> registry :-{ . Also checked the squid-cache archives and not finding it
> email history. Sorry.
Did you by chance mean IANA?
I looked and 3128 is registered to something other than Squid.
Nor did their search bring anything up for Squid.
> I mean "authority" as used by HTTP specification, which refers to
> https://www.rfc-editor.org/rfc/rfc3986#section-3.2
>
> Yes exactly. That is the source of the problem, perpetuated by the need
> to retain on-wire byte/octet backward compatibility until HTTP/2 changed
> to binary format.
>
> Consider what the proxy has to do when (not if) the IP:port being
> connected to are that proxy's (eg localhost:80) and the URL is only a
> path ("/") on an origin server somewhere else. Does the "GET / HTTP/1.0"
> mean "http://example.com/" or "http://example.net/" ?
I would hope that it would return an error page, much like Squid does
when it can't resolve a domain name or the connection times out.
> The key point is that the proxy host:port and the origin host:port are
> two different authority and only the origin may be passed along in the
> URL (or URL+Host header).
Agreed.
> When the client uses port 80 and 443 thinking
> they are origin services it is *required* (per
> https://www.rfc-editor.org/rfc/rfc9112.html#name-origin-form) to omit
> the real origins info. Enter problems.
Why would a client (worth it's disk space) ever conflate the value of
it's configured proxy as the origin server?
I can see a potential for confusion when using (network) transparent /
intercepting proxies.
> I refer to all the many ways the clients may be explicitly or implicitly
> configured to be aware that it is talking to a proxy - such that it
> explicitly avoids sending the problematic origin-form URLs.
ACK
> The defaults though are tuned for origin server (or reverse-proxy)
> direct contact.
I don't see how that precludes their use for (forward) proxy servers.
> No Browser I know supports
> "http-alt://proxy.example.com?http://origin.example.net/index.html" URLs.
But I bet that many browsers would support:
http://proxy.example.com:8080/?http://origin.example.net/index.html
Also, I'm talking about "http://" and "https://" using their default
ports of 80 & 443.
> ... "at your own risk" they technically might be. So long as you only
> receive one of the three types of syntax there - port 80/443 being
> officially registered for origin / reverse-proxy syntax.
I've been using them without any known problem for multiple years across
multiple platforms, clients, and versions thereof. So I'll keep using
it at my own risk.
> It is based on experience. Squid used to be a lot more lenient and tried
> for decades to do the syntax auto-detection. The path from that to
> separate ports is littered with CVEs. Most notably the curse that keeps
> on giving: CVE-2009-0801, which is just the trigger issue for a whole
> nest of bad side effects.
I wonder how much of that problematic history was related to HTTP/0.9 vs
HTTP/1.0 vs HTTP/1.1 clients.
I similarly wonder how much HTTP/1.0, or even HTTP/0.9, protocol is used
these days.
Also, there is the elephant in the room of we're talking about a proxy
server which is frequently, but not always, on a dedicated system or IP.
As such, I have no problem predicating the use of the HTTP(80) and
HTTPS(443) ports when there is no possible chance of confusion between
forward proxy roles and origin server / reverse proxy roles.
--
Grant. . . .
unix || die
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4017 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20221031/84078341/attachment.bin>
More information about the squid-users
mailing list