Bu proje, Squid proxy sunucusunu ve LightSquid raporlama arayüzünü tek bir Debian tabanlı Docker imajında çalıştırır. Konteyner içinde Squid, Lighttpd, cron ve ilk rapor üretimi supervisord ile birlikte yönetilir.
3128.7080..
├── Dockerfile # Debian tabanlı Squid + LightSquid imajı
├── docker-compose.yml # Host network ile örnek çalışma tanımı
├── squid/squid.conf # Squid ana yapılandırması
├── lighttpd/lighttpd.conf # LightSquid web arayüzü için Lighttpd ayarları
├── cron/lightsquid # Periyodik LightSquid rapor üretimi
├── supervisord.conf # Squid, Lighttpd, cron ve ilk parser süreci
└── conf.d/placeholder.conf # Host'a özel Squid ek ayarları için örnek dosya
| Servis | Port | Açıklama |
|---|---|---|
| Squid | 3128 | Proxy bağlantıları |
| LightSquid | 7080 | Web raporlama arayüzü |
docker-compose.yml dosyasında network_mode: host kullanıldığı için bu portlar doğrudan host üzerinde dinlenir.
docker compose up -d --build
docker compose ps
docker logs -f squid-lightsquid
İstemcilerde HTTP/HTTPS proxy adresini aşağıdaki şekilde ayarlayın:
http://<sunucu-ip-adresi>:3128
Tarayıcıdan şu adrese gidin:
http://<sunucu-ip-adresi>:7080/
Varsayılan Squid yapılandırması yalnızca aşağıdaki yerel ağlardan gelen proxy isteklerine izin verir:
192.168.0.0/24172.24.0.0/16Bu ağları değiştirmek için squid/squid.conf içindeki acl localnet src ... satırlarını güncelleyin.
docker-compose.yml, yerel ./conf.d dizinini konteyner içinde /etc/squid/conf.d olarak bağlar. Bu nedenle her sunucuya özel ayarları ana squid.conf dosyasını değiştirmeden şu dosyalara ekleyebilirsiniz:
conf.d/local.conf
Örnek üst proxy ayarı:
cache_peer 192.168.1.10 parent 3128 0 no-query default
never_direct allow all
Not:
squid/squid.conf, yerel hedef ağlar içinalways_direct allow localdstkuralı içerir. Böylece tanımlı yerel hedeflere giderken üst proxy kullanılmaz.
Squid erişim logları host tarafında ./logs dizinine yazılır ve konteyner içinde /var/log/squid yoluna bağlanır.
Örnek:
tail -f logs/access.log
LightSquid parser şu durumlarda çalışır:
lightparser-init programı ile.İsterseniz manuel olarak da çalıştırabilirsiniz:
docker exec squid-lightsquid /usr/share/lightsquid/lightparser.pl today
Yapılandırma dosyalarını değiştirdikten sonra imajı yeniden oluşturun:
docker compose up -d --build
Squid yapılandırmasını konteyner içinde doğrulamak için:
docker exec squid-lightsquid squid -k parse
Lighttpd yapılandırmasını doğrulamak için:
docker exec squid-lightsquid lighttpd -tt -f /etc/lighttpd/lighttpd.conf
network_mode: host kullanıldığı için host üzerindeki 3128 ve 7080 portlarının güvenlik duvarı kurallarıyla sınırlandırılması önerilir.squid/squid.conf dosyasındaki ACL ağlarını kendi ortamınıza göre daraltın.Konteyneri durdurmak için:
docker compose down
Yerel logları temizlemek için:
rm -f logs/*.log
Content type
Image
Digest
sha256:ba119ab3b…
Size
82.8 MB
Last updated
29 days ago
docker pull bmericc/squid-lightsquid