<div dir="ltr"><div>Hi all,</div><div class="gmail_quote gmail_quote_container"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><p>I'm running into a blocking issue while deploying Squid 6.13 via Docker (in a Docker Swarm setup) using a Dockerfile based on <a href="https://github.com/b4tman/docker-squid" style="color:rgb(86,163,241)" target="_blank">b4tman/docker-squid</a>. My goal is to enable the <strong><code>PROXY protocol</code></strong> support via the following config line:</p><pre><code>http_port 3128 proxy-protocol
</code></pre><p>However, on startup I consistently get this error:</p><pre><code>2025/04/08 13:14:44| Processing Configuration File: /etc/squid/my-squid.conf (depth 0)
2025/04/08 13:14:44| FATAL: Unknown http_port option 'proxy-protocol'.
2025/04/08 13:14:44| FATAL: Bungled /etc/squid/my-squid.conf line 1: http_port 3128 proxy-protocol
2025/04/08 13:14:44| Squid Cache (Version 6.13): Terminated abnormally.
</code></pre><hr><h3>🔍 <strong>What I’ve Done So Far:</strong></h3><ul><li style="margin-left:15px"><p>Using Squid <strong>6.13</strong> (confirmed)</p></li><li style="margin-left:15px"><p>Verified <code>--enable-proxy-auth</code>, <code>--enable-auth-*</code>, and many other flags in my Dockerfile</p></li><li style="margin-left:15px"><p>Using the Dockerfile provided by <code>b4tman/docker-squid</code> repo</p></li><li style="margin-left:15px"><p>Running on <strong>Docker Swarm</strong> and mapping config via:</p></li></ul><pre><code>volumes:
- ./config/squid.conf:/etc/squid/my-squid.conf:ro
</code></pre><ul><li style="margin-left:15px"><p><code>SQUID_CONFIG_FILE</code> is set properly, and the config loads — until it hits that line.</p></li></ul><hr><h3>❓ <strong>What is <code>proxy-protocol</code> supposed to do?</strong></h3><p>The <code>proxy-protocol</code> option is designed to allow Squid to accept <strong>original client IP addresses</strong> from trusted proxies or load balancers (e.g., HAProxy, AWS ELB, Traefik) via the <a href="https://www.haproxy.org/download/2.0/doc/proxy-protocol.txt" style="color:rgb(86,163,241)" target="_blank">PROXY protocol</a>.</p><p>It lets you do things like:</p><pre><code>http_port 3128 proxy-protocol
</code></pre><p>Instead of seeing the IP of the load balancer, Squid gets the real client IP passed in the PROXY header — which is essential for proper logging, ACLs, or geo-restrictions in reverse-proxy environments.</p><hr><h3>🚫 <strong>Current Blocker</strong></h3><p>Despite enabling many Squid features in the Docker build, this one fails with <code>Unknown http_port option 'proxy-protocol'</code>, which usually means the <strong>binary wasn't compiled with support</strong> for it.</p><hr><h3>🛠️ <strong>Questions / Help Needed</strong></h3><ul><li style="margin-left:15px"><p>Is <code>--with-proxy-protocol</code> or equivalent <strong>compile flag</strong> required to enable this? (I can't find it in the list of <code>./configure</code> options for Squid.)</p></li><li style="margin-left:15px"><p>Has anyone used <code>proxy-protocol</code> successfully with Squid 6.13 in Docker or with the <code>b4tman/docker-squid</code> base image?</p></li><li style="margin-left:15px"><p>Is there a specific patch, module, or feature flag I'm missing?</p></li></ul><p>Thanks in advance — this feature is critical for deployment in Swarm behind a reverse proxy, and I’m stuck!</p><p>Best regards,</p><p><br><strong>Michael Tint</strong><br>Linux Admin</p></div>
</div></div>
</div></div>