Two mistakes in the configuration, both of which stopped squid dead. It refuses
an allowlist that names a host and something above it - registry.npmjs.org beside
.npmjs.org - and the continuation lines that followed were then read as
directives of their own. The domains are now one directive per line, each with a
leading dot so it covers the host and everything under it.
Pointing the logs at /dev/stdout so they would reach `docker logs` was the second
one, and it is not fixable here: squid drops to the proxy user, the container's
stdout is a root-owned pipe, and squid calls being unable to open its log fatal.
They stay at squid's own paths, and the config says where to read them.
Checked against a running proxy rather than by reading: npm, PyPI, pythonhosted
and both Maven hosts tunnel through, example.com is refused, a plain HTTP request
to an allowed host is refused as well, and the access log names the refusal.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>