我尝试将Java ICAP Codec 1.0.0.GA Squid Echo示例与Squid一起使用,得到以下异常
ch.mimo.netty.handler.codec.icap.IcapDecodingError: Mandatory ICAP message header [Encapsulated] is missing
at ch.mimo.netty.handler.codec.icap.ReadIcapHeaderState.validateMandatoryMessageHeaders(ReadIcapHeaderState.java:104)
at ch.mimo.netty.handler.codec.icap.ReadIcapHeaderState.execute(ReadIcapHeaderState.java:54)
at ch.mimo.netty.handler.codec.icap.IcapMessageDecoder.decode(IcapMessageDecoder.java:97)
at ch.mimo.netty.handler.codec.icap.IcapMessageDecoder.decode(IcapMessageDecoder.java:37)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:470)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)以下是我的Squid配置(与ICAP相关):
icap_enable on
icap_service service_req reqmod_precache icap://127.0.0.1:1344
adaptation_access service_req allow all问题出在哪里?
发布于 2012-03-18 19:27:01
众所周知,Squid的ICAP客户端不会向Options请求添加封装的报头。Java ICAP Codec的最新1.0.0.GA版本将处理选项,以及100个缺少封装报头的Continue请求。
我建议您使用Wireshark转储网络流量,并将其发布到此处。
https://stackoverflow.com/questions/8953007
复制相似问题