Сквидерам)
В первый раз в жизни вынужден был использовать сквид) Вылезли три проблемы.
Сеттинг:
server1(site) <-> server2(squid2)<->VPN<->server3(squid3,firefox3)<->VPN<->server4(firefox4)
на server1 находится сайт, на server4 - клиент пытается посмотреть сайт в огнелисе.
Сайт на server1 сделан с помощью адового вебдваноль и флеша.
1) (самая важная).
Если обратиться смотреть сайт напрямую через server3+firefox3 (т.е. использовать прокси напрямую), то он работает ОК.
Но если открыть его в server4+firefox4(т.е. запрос тогда будет идти через цепочку прокси firefox->squid3->squid2->site), то он НЕ работает. Не то чтобы вообще не открывается - нет, работает, но ГЛЮЧИТ.
что может быть не так?
в конфиге прописано элементарно: cache_peer server2 parent 4050 4051
2) (не самая важная :)
HTCP не работает. Я сконпелировал сервер со всеми флагами согласно оффсайту, в том числе флаг на включение HTCP. А он всё равно не работает :(
(кстати, открыться на порту по умолчанию (4827) он не может (занят чем-то, чем - не знаю, может другим сквидом, но он же умеет его автоматом определять? если не умеет, что надо писать в конфиге?)
ну так вот, даже несмотря на порт, он всё равно не работает. При старте сервера пишет «HTCP Disabled.» и всё.
Вот как конпелял:
SERVER_HOME=/long/path/to/the/server/home
export SERVER_HOME
./configure --prefix=$SERVER_HOME/usr --datadir=$SERVER_HOME/usr/share/squid \
--sysconfdir=$SERVER_HOME/usr/etc/squid --libexecdir=$SERVER_HOME/usr/lib/squid \
--localstatedir=$SERVER_HOME/usr/var --enable-auth="basic,digest,ntlm" \
--enable-removal-policies="lru,heap" \
--enable-digest-auth-helpers="password" \
--enable-storeio="aufs,ufs,diskd" \
--enable-basic-auth-helpers="DB,LDAP,MSNT,NCSA,PAM,POP3,SASL,SMB,YP,getpwnn
am,multi-domain-NTLM,squid_radius_auth" \
--enable-external-acl-helpers="ip_user,ldap_group,session,unix_group,wbinff
o_group" \
--enable-ntlm-auth-helpers="smb_lm,fakeauth,no_check" \
--enable-delay-pools --enable-arp-acl --enable-ssl --enable-snmp \
--enable-linux-netfilter --enable-ident-lookups \
--enable-useragent-log --enable-cache-digests --enable-referer-log \
--enable-async-io --enable-truncate --enable-arp-acl \
--enable-htcp --enable-carp --enable-epoll --with-maxfd=4096 \
--with-large-files \
--with-logdir=$SERVER_HOME/usr/var/log/squid --with pidfile=$SERVER_HOME/usr/var/run/squid.pid \
--with-default-user=MyDefaultUser
3) Нужно отфорвардить с server3 на server2 не ВообщеВсё, а только один-единственный домен, скажем ".my.domain.com". Кто-нибудь может предложить рабочую строчку в конфиге, которая это делает? Маны курил, ничо не пашет ((
на всякий случай лог старта PRIMARY:
2010/10/27 19:11:45| Adding nameserver 172.XX.X.XX from /etc/resolv.conf
2010/10/27 19:11:45| Adding nameserver 172.XX.X.XX from /etc/resolv.conf
2010/10/27 19:11:45| User-Agent logging is disabled.
2010/10/27 19:11:45| Referer logging is disabled.
2010/10/27 19:11:45| Unlinkd pipe opened on FD 11
2010/10/27 19:11:45| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2010/10/27 19:11:45| Store logging disabled
2010/10/27 19:11:45| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2010/10/27 19:11:45| Target number of buckets: 1008
2010/10/27 19:11:45| Using 8192 Store buckets
2010/10/27 19:11:45| Max Mem size: 262144 KB
2010/10/27 19:11:45| Max Swap size: 0 KB
2010/10/27 19:11:45| Using Least Load store dir selection
2010/10/27 19:11:45| Set Current Directory to /long/path/to/the/server/home/usr/var/cache
2010/10/27 19:11:45| Loaded Icons.
2010/10/27 19:11:45| Accepting HTTP connections at [::]:4050, FD 12.
2010/10/27 19:11:45| Accepting ICP messages at [::]:4051, FD 13.
2010/10/27 19:11:45| HTCP Disabled.
2010/10/27 19:11:45| Squid modules loaded: 0
2010/10/27 19:11:45| Ready to serve requests.
2010/10/27 19:11:46| storeLateRelease: released 0 objects
на всякий случай оба тестовых конфига сквида:
PRIMARY (server2)
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 4050
icp_access allow localnet
icp_access deny all
icp_port 4051
hierarchy_stoplist cgi-bin ?
coredump_dir /long/path/to/the/server/home/usr/var/cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
#upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
#broken_vary_encoding allow apache
SLAVE (server3)
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
coredump_dir /var/cache/squid
cache_peer server2 parent 4050 4051
#cache_peer server2 sibling 4050 4051
#cache_peer_domain server2 .my.domain.com