나는 squid를 투명 프록시로 구성한 다음 CentOS 7의 HAProxy 로드 밸런싱 서버에 연결해 보았습니다.
내 오징어 구성은 다음과 같습니다.
http_access allow localnet
http_access allow ldap
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 3128 intercept
visible_hostname squid.proxy
http_port 5532 ssl-bump cert=/etc/squid/ssl_cert/myCA.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
방화벽 규칙에 대해 다음 명령을 실행했습니다.
sudo firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=3128:toaddr=x.x.x.x
sudo firewall-cmd --permanent --zone=public --add-port=3128/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload
그런 다음 내 sysctl.conf에서
net.ipv4.ip_forward = 1
오징어 서비스를 다시 시작했습니다.
내 HAProxy 서버에 다음 구성을 추가했습니다.
frontend transparent
bind *:80 transparent
mode tcp
use_backend bk_squid
backend bk_squid
mode tcp
option http-server-close
option forwardfor
balance leastconn
source 0.0.0.0 usesrc clientip
cookie SERVERID insert nocache indirect
server transparent1 10.88.42.29:80 check fall 3 rise 2
server transparent2 10.88.42.30:80 check fall 3 rise 2
솔직히 말해서 다양한 온라인 포럼에서 찾은 모든 구성 옵션을 결합했지만 작동하지 않았습니다. 구성의 어느 부분을 유지/추가/제거해야 하는지에 대한 도움이 필요합니다. 서버의 IP를 사용하면 작동하지만 HAProxy IP를 사용하면 작동하지 않습니다. 도움을 주시면 감사하겠습니다. 감사해요
참고: 오징어 프록시의 포트 5532는 여전히 잘 작동합니다. 또한 포트 3128을 사용할 수 없습니다(아직 클라이언트를 구성하지 않았기 때문에 코드 409).