The following Squid configuration uses src ACL with sslproxy_cert_error:
acl me src 172.16.101.51
sslproxy_cert_error allow me
Cache log shows that the source IP address is missing when the 'me' ACL
is checked for sslproxy_cert_error:
| ACL::checklistMatches: checking 'me'
| aclIpAddrNetworkCompare: compare: *[::]/[ff...ff] ([::])* vs ...
| aclIpMatchIp: '[::]' NOT found
The problem is that the HttpRequest::client_addr is not set, for the fake
HTTPS request created to initiate the bump-server-first procedure.
fakeRequest->port = port;
fakeRequest->protocol = AnyP::PROTO_HTTPS;
fakeRequest->clientConnectionManager = this;
+ fakeRequest->client_addr = clientConnection->remote;
+#if FOLLOW_X_FORWARDED_FOR
+ fakeRequest->indirect_client_addr = clientConnection->remote;
+#endif
+ fakeRequest->my_addr = clientConnection->local;
sslServerBump = new Ssl::ServerBump(fakeRequest);
// will call httpsPeeked() with certificate and connection, eventually