4

我已经在 Glassfish 3.1.2.2 服务器前面设置了 Apache 2.2.16,以在 TCP 443 上提供 HTTPS。我正在使用 Apache proxy_http 和 proxy_ajp 模块将请求中继到正在侦听 TCP 8009 端口(AJP 侦听器)的 Glassfish。当我尝试访问我的 Web 应用程序中的任何 Web 服务方法时,我在服务器日志中收到以下错误。如果我直接使用 8080 端口,一切正常,所以它似乎与 AJP 有关。如果我用浏览器连接到 SSL 端口,我可以正确获取 Web 服务的 WSDL,因此 AJP 至少在某种程度上可以工作。

[#|2013-01-10T13:57:30.155+0200|SEVERE|glassfish3.1.2|com.sun.xml.ws.transport.http.HttpAdapter|_ThreadID=22;_ThreadName=Thread-2;|Couldn't create SOAP message due to exception: org.jvnet.mimepull.MIMEParsin
gException: java.io.IOException: Invalid chunk header
com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: org.jvnet.mimepull.MIMEParsingException: java.io.IOException: Invalid chunk header
        at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:366)
        at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:343)
        at com.sun.xml.ws.transport.http.HttpAdapter.access$400(HttpAdapter.java:99)
        at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:623)
        at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:263)
        at com.sun.xml.ws.transport.http.servlet.ServletAdapter.invokeAsync(ServletAdapter.java:218)
        at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:159)
        at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:194)
        at org.apache.tapestry.jaxws.internal.metro.MetroHttpServletRequestFilter.service(MetroHttpServletRequestFilter.java:90)
        at $HttpServletRequestFilter_d72aa5c88d557.service(Unknown Source)
        at $HttpServletRequestHandler_d72aa5c88d55a.service(Unknown Source)
        at org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:55)
        at org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:53)
        at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380)
        at org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:53)
        at $HttpServletRequestFilter_d72aa5c88d556.service(Unknown Source)
        at $HttpServletRequestHandler_d72aa5c88d55a.service(Unknown Source)
        at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
        at $HttpServletRequestHandler_d72aa5c88d55a.service(Unknown Source)
        at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at $HttpServletRequestFilter_d72aa5c88d554.service(Unknown Source)
        at $HttpServletRequestHandler_d72aa5c88d55a.service(Unknown Source)
        at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
        at $HttpServletRequestHandler_d72aa5c88d55a.service(Unknown Source)
        at $HttpServletRequestHandler_d72aa5c88d553.service(Unknown Source)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
        at com.sun.grizzly.http.ajp.AjpProcessorTask.invokeAdapter(AjpProcessorTask.java:135)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.jvnet.mimepull.MIMEParsingException: java.io.IOException: Invalid chunk header
        at org.jvnet.mimepull.MIMEParser.fillBuf(MIMEParser.java:434)
        at org.jvnet.mimepull.MIMEParser.skipPreamble(MIMEParser.java:300)
        at org.jvnet.mimepull.MIMEParser.access$300(MIMEParser.java:67)
        at org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(MIMEParser.java:143)
        at org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(MIMEParser.java:128)
        at org.jvnet.mimepull.MIMEMessage.makeProgress(MIMEMessage.java:198)
        at org.jvnet.mimepull.MIMEPart.getHeaders(MIMEPart.java:147)
        at org.jvnet.mimepull.MIMEPart.getContentType(MIMEPart.java:139)
        at com.sun.xml.ws.encoding.MimeMultipartParser$PartAttachment.getContentType(MimeMultipartParser.java:175)
        at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:406)
        at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:210)
        at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:353)
        ... 57 more
Caused by: java.io.IOException: Invalid chunk header
        at com.sun.grizzly.tcp.http11.filters.ChunkedInputFilter.doRead(ChunkedInputFilter.java:191)
        at com.sun.grizzly.tcp.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:791)
        at com.sun.grizzly.tcp.Request.doRead(Request.java:501)
        at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:336)
        at com.sun.grizzly.util.buf.ByteChunk.substract(ByteChunk.java:436)
        at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:357)
        at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:265)
        at org.jvnet.mimepull.MIMEParser.fillBuf(MIMEParser.java:432)
        ... 68 more

这是 apache vhost 配置:

<VirtualHost *:443>
    ServerName host.domain.com
    ProxyPass / ajp://host.domain.com:8009
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
    SSLCertificateFile      /etc/ssl/private/cert.crt
    SSLCertificateKeyFile   /etc/ssl/private/key.key
    SSLCertificateChainFile /etc/ssl/private/DigiCertCA.crt
</VirtualHost>
4

0 回答 0