I am familiar with web servers. Boxes that you connect to in your LAN to get a web page. A very popular program that runs a web cache is Squid. What is new to me is that I can run Squid in my box so it serves the localhost and any programs that needs to connect to web resources. In any case, my desktop box can also function as a web server down the line if needed.
In Arch, install Squid with the command # pacman -S squid.
The configuration file is /etc/squid/squid.conf. The default cache directory is /var/cache/squid.
The only item i really have to modify is the http_port. The default port that Squid uses is 3128. Now I want all traffic which goes through the default network interface to be redirected to Squid. This is called transparency. To configure Squid just add [intercept] in the line like so: http_port 3128 intercept.
When you finish modifying the configuration file run a check with the command #squid -k check. Also, checking the logs can be very helpful. I got an ERROR: No forward proxy port configured message several times. I checked the squid-cache website too and I got this explanation from them.
Squid has been configuered without any port capable of receiving forward-proxy traffic.
Squid occasionally needs to generate URLs for clients to fetch supplementary content. Images in error pages or FTP and Gopher indexes, cache digests, NetDB, cache manager API, etc.
In order to produce a valid URL Squid requires a port configured to receive normal forward-proxy traffic. The standard well-known port assigned for this is port 3128.
This error occurs when port 3128 has been incorrectly altered into a interception port.
So my fix is to configure another port as a dedicated forwarding port for Squid. I added http_port 3129 next to http_port 3128 intercept in the config file.
Start / Enable the service with # systemctl start squid.service and # systemctl enable squid.service.
Comments