squid c-icap錯誤
squid 代理時頁面返回如下信息,請問如果處理啊
The following error was encountered while trying to retrieve the URL: http://www.baidu.com/s?
ICAP protocol error.
The system returned:
This means that some aspect of the ICAP communication failed.
Some possible problems are:
The ICAP server is not reachable.
An Illegal response was received from the ICAP server
《解決方案》
有沒有遇到過樣的問題啊,急啊,
《解決方案》
ICAP 軟體肯定沒有啟動或者遇到故障了。。。
killall c-icap 再啟動一下就沒事了
《解決方案》
應該不是這個問題,c-icap啟動了,squid 聯不上c-icap server
啟動squid 調試信息后,有如下內容:
IpIntercept.cc(137) NetfilterInterception: NF getsockopt(SO_ORIGINAL_DST) failed on FD 9: (92) Protocol not available
2009/10/15 11:23:19| essential ICAP service is down after an options fetch failure: icap://localhost:1344/srv_clamav
2009/10/15 11:23:19| IpIntercept.cc(137) NetfilterInterception: NF getsockopt(SO_ORIGINAL_DST) failed on FD 9: (92) Protocol not available
《解決方案》
而且用c-icap 自帶的客戶端測試沒有問題。
《解決方案》
squdi針對C-ICAP的配置拿出來看看
icap_enable on
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on
icap_service service_avi_req reqmod_precache 0 icap://localhost:1344/srv_clamav
icap_service service_avi respmod_precache 1 icap://localhost:1344/srv_clamav
icap_class class_antivirus service_avi
icap_access class_antivirus allow all
icap_class class_antivirus_req service_avi_req
icap_access class_antivirus_req allow all
這是我的配置。參考一下
《解決方案》
我的也是這個配置,還是同樣的問題:strace squid 內容如下:
poll_wait(6, {{EPOLLIN, {u32=16, u64=13245902706796658704}}}, 1024, 967) = 1
gettimeofday({1255611342, 839941}, NULL) = 0
accept(16, {sa_family=AF_INET, sin_port=htons(4672), sin_addr=inet_addr("193.168.20.158")}, ) = 11
getsockname(11, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("193.168.20.159")}, ) = 0
fcntl64(11, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(11, F_SETFD, FD_CLOEXEC|0x2) = 0
fcntl64(11, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(11, F_SETFL, O_RDWR|O_NONBLOCK) = 0
gettimeofday({1255611342, 841162}, NULL) = 0
accept(16, 0xa2db7c0, ) = -1 EAGAIN (Resource temporarily unavailable)
getsockopt(11, SOL_IP, 0x50 /* IP_??? */, 0xa30a440, 0xa316a80) = -1 ENOPROTOOPT (Protocol not available)
gettimeofday({1255611342, 841689}, NULL) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
write(5, "2009/10/15 20:55:42| IpIntercept."..., 141) = 141
epoll_ctl(6, EPOLL_CTL_ADD, 11, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=11, u64=11}}) = 0
epoll_wait(6, {{EPOLLIN, {u32=11, u64=11}}}, 1024, 816) = 1
gettimeofday({1255611342, 842799}, NULL) = 0
read(11, "GET http://www.baidu.com/ HTTP/1."..., 4095) = 395
gettimeofday({1255611342, 843061}, NULL) = 0
socket(PF_NETLINK, SOCK_RAW, 0) = 14
bind(14, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(14, {sa_family=AF_NETLINK, pid=3678, groups=00000000}, ) = 0
time(NULL) = 1255611342
sendto(14, "\24\0\0\0\26\0\1\3\316\33\327J\0\0\0\0\0\0\0\0"..., 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(14, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0\316\33\327J^\16\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 228
recvmsg(14, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0\316\33\327J^\16\0\0\n\200\200\376\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 128
recvmsg(14, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\316\33\327J^\16\0\0\0\0\0\0\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(14) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
epoll_ctl(6, EPOLL_CTL_MOD, 11, {EPOLLIN|EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=11, u64=11}}) = 0
epoll_wait(6, {{EPOLLOUT, {u32=11, u64=11}}}, 1024, 814) = 1
gettimeofday({1255611342, 846037}, NULL) = 0
write(11, "HTTP/1.0 500 Internal Server Erro"..., 2941) = 2941
gettimeofday({1255611342, 846875}, NULL) = 0
read(11, 0xbfbceddd, 65535) = -1 EAGAIN (Resource temporarily unavailable)
write(8, "1255611342.846 3 193.168.20."..., 96) = 96
write(13, "1255611342.846 RELEASE -1 FFFFFFF"..., 150) = 150
epoll_ctl(6, EPOLL_CTL_MOD, 11, {EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=11, u64=11}}) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 11, {0, {u32=11, u64=11}}) = 0
close(11) = 0
epoll_wait(6, {{EPOLLIN, {u32=16, u64=13245902706796658704}}}, 1024, 811) = 1
gettimeofday({1255611342, 850859}, NULL) = 0
accept(16, {sa_family=AF_INET, sin_port=htons(4673), sin_addr=inet_addr("193.168.20.158")}, ) = 11
getsockname(11, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("193.168.20.159")}, ) = 0
fcntl64(11, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(11, F_SETFD, FD_CLOEXEC|0x2) = 0
fcntl64(11, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(11, F_SETFL, O_RDWR|O_NONBLOCK) = 0
gettimeofday({1255611342, 851866}, NULL) = 0
accept(16, 0xa2ebb90, ) = -1 EAGAIN (Resource temporarily unavailable)
getsockopt(11, SOL_IP, 0x50 /* IP_??? */, 0xa30a440, 0xa316a80) = -1 ENOPROTOOPT (Protocol not available)
gettimeofday({1255611342, 852305}, NULL) = 0
write(5, "2009/10/15 20:55:42| IpIntercept."..., 141) = 141
epoll_ctl(6, EPOLL_CTL_ADD, 11, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=11, u64=11}}) = 0
epoll_wait(6, {{EPOLLIN, {u32=11, u64=11}}}, 1024, 805) = 1
gettimeofday({1255611342, 855398}, NULL) = 0
read(11, "GET http://www.squid-cache.org/Ar"..., 4095) = 387
gettimeofday({1255611342, 855696}, NULL) = 0
socket(PF_NETLINK, SOCK_RAW, 0) = 14
bind(14, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(14, {sa_family=AF_NETLINK, pid=3678, groups=00000000}, ) = 0
time(NULL) = 1255611342
sendto(14, "\24\0\0\0\26\0\1\3\316\33\327J\0\0\0\0\0\0\0\0"..., 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(14, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0\316\33\327J^\16\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 228
recvmsg(14, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0\316\33\327J^\16\0\0\n\200\200\376\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 128
recvmsg(14, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\316\33\327J^\16\0\0\0\0\0\0\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(14) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
epoll_ctl(6, EPOLL_CTL_MOD, 11, {EPOLLIN|EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=11, u64=11}}) = 0
epoll_wait(6, {{EPOLLOUT, {u32=11, u64=11}}}, 1024, 802) = 1
gettimeofday({1255611342, 861662}, NULL) = 0
write(11, "HTTP/1.0 500 Internal Server Erro"..., 2981) = 2981
gettimeofday({1255611342, 863960}, NULL) = 0
read(11, 0xbfbceddd, 65535) = -1 EAGAIN (Resource temporarily unavailable)
write(8, "1255611342.863 8 193.168.20."..., 116) = 116
write(13, "1255611342.863 RELEASE -1 FFFFFFF"..., 170) = 170
epoll_ctl(6, EPOLL_CTL_MOD, 11, {EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=11, u64=11}}) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 11, {0, {u32=11, u64=11}}) = 0
close(11) = 0
epoll_wait(6, {}, 1024, 794) = 0
gettimeofday({1255611343, 673493}, NULL) = 0
gettimeofday({1255611343, 673619}, NULL) = 0
lsof squid 內容:
debian:~# lsof -p 3678
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
squid 3678 gaozj cwd DIR 8,1 4096 117543 /usr/local/squid/etc
squid 3678 gaozj rtd DIR 8,1 4096 2 /
squid 3678 gaozj txt REG 8,1 13982966 117542 /usr/local/squid/sbin/squid
squid 3678 gaozj mem REG 8,1 42504 16837 /lib/i686/cmov/libnss_files-2.7.so
squid 3678 gaozj mem REG 8,1 38444 16839 /lib/i686/cmov/libnss_nis-2.7.so
squid 3678 gaozj mem REG 8,1 30436 16835 /lib/i686/cmov/libnss_compat-2.7.so
squid 3678 gaozj mem REG 8,1 1413540 16828 /lib/i686/cmov/libc-2.7.so
squid 3678 gaozj mem REG 8,1 49676 8156 /lib/libgcc_s.so.1
squid 3678 gaozj mem REG 8,1 149328 16832 /lib/i686/cmov/libm-2.7.so
squid 3678 gaozj mem REG 8,1 946216 89394 /usr/lib/libstdc++.so.6.0.10
squid 3678 gaozj mem REG 8,1 9680 16831 /lib/i686/cmov/libdl-2.7.so
squid 3678 gaozj mem REG 8,1 87800 16834 /lib/i686/cmov/libnsl-2.7.so
squid 3678 gaozj mem REG 8,1 67408 16843 /lib/i686/cmov/libresolv-2.7.so
squid 3678 gaozj mem REG 8,1 38296 16830 /lib/i686/cmov/libcrypt-2.7.so
squid 3678 gaozj mem REG 8,1 30624 16844 /lib/i686/cmov/librt-2.7.so
squid 3678 gaozj mem REG 8,1 116414 16842 /lib/i686/cmov/libpthread-2.7.so
squid 3678 gaozj mem REG 8,1 113248 8114 /lib/ld-2.7.so
squid 3678 gaozj 0u CHR 1,3 562 /dev/null
squid 3678 gaozj 1u CHR 1,3 562 /dev/null
squid 3678 gaozj 2u CHR 1,3 562 /dev/null
squid 3678 gaozj 3u REG 8,1 451347357 117246 /usr/local/squid/var/logs/cache.log
squid 3678 gaozj 4u CHR 1,3 562 /dev/null
squid 3678 gaozj 5u REG 8,1 451347357 117246 /usr/local/squid/var/logs/cache.log
squid 3678 gaozj 6u 0000 0,7 0 13 anon_inode
squid 3678 gaozj 7u IPv6 105568 UDP *:49206
squid 3678 gaozj 8w REG 8,1 7603443 117798 /usr/local/squid/var/logs/access.log
squid 3678 gaozj 9r FIFO 0,6 105570 pipe
squid 3678 gaozj 10w REG 8,1 1976 20751 /usr/local/squid/var/cache/swap.state
squid 3678 gaozj 12w FIFO 0,6 105571 pipe
squid 3678 gaozj 13w REG 8,1 11308065 117247 /usr/local/squid/var/logs/store.log
squid 3678 gaozj 16u IPv4 105776 TCP *:http-alt (LISTEN)
《解決方案》
icap-client 測試結果如下:
ICAP server:localhost, ip:127.0.0.1, port:1344
OPTIONS:
Allow 204: Yes
Preview: 1024
Keep alive: Yes
ICAP HEADERS:
ICAP/1.0 200 OK
Methods: RESPMOD, REQMOD
Service: C-ICAP/060708rc3 server - Echo demo service
ISTag: CI0001-XXXXXXXXX
Transfer-Preview: *
Options-TTL: 3600
Date: Thu, 15 Oct 2009 13:03:35 GMT
Preview: 1024
Allow: 204
X-Include: X-Authenticated-User, X-Authenticated-Groups
Encapsulated: null-body=0
《解決方案》
有沒人作過這個東西啊!