I just want to concur I have the same issue.
Removing that one line upgradeprotocol
and rewrite works again.



On Thu, Feb 6, 2020 at 3:28 PM Hua Zhang <hzhang1...@gmail.com> wrote:

> Nope, I also tested it with NIO instead of APR, same issues happen.
> RewriteValve does not function as expected. Besides it, there are also two
> https-443-exec executed by one request.
>
> There is definitely something wrong with Http2Protocol. And it results in
> this case a problem in RewriteValve.
>
> And what kind of extra information do you want to have. I cannot send any
> pictures in the email. You want the server.xml configuration? Except that
> file, almost every other configuration file is untouched. No load balancer,
> no any proxy here. Just a straight forward connection to tomcat instance.
>
> Here an remark, you can only reproduce errors if Http2Protocol is indeed
> activated, namely you see in browser h2 protocol is used by request. In
> Eclipse, I cannot reproduce the issue, since I cannot get h2 protocol
> working there.
>
>
> Hua
>
> Rémy Maucherat <r...@apache.org> 于 2020年2月6日周四 下午3:06写道:
>
> > On Thu, Feb 6, 2020 at 2:56 PM Hua Zhang <hzhang1...@gmail.com> wrote:
> >
> > > Thank you for the response. I am finally able to confirm the issue.
> > >
> > > When I put the following line in comment, everything works fine. I mean
> > as
> > > expected.
> > >
> > > *<!-- <UpgradeProtocol
> className="org.apache.coyote.http2.Http2Protocol"
> > />
> > > -->*
> > >
> > >
> > > If the above line UpgradeProtocol is activated, I observe now at least
> > two
> > > weird situations.
> > >
> > > 1) As mentioned before, RewriteValve does not work as expected.
> > > 2) Besides it, I observed that serviet behaviors weird. According to
> the
> > > log file it seems that a servlet is sometimes called *twice by one
> > > request*.
> > >
> > > This is a snapshot of my log files. You can see that two https-443-exec
> > are
> > > called almost at the same time.
> > >
> > > 06-Feb-2020 13:38:04.676 SEVERE *[https-openssl-apr-443-exec-9]*
> > > org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service()
> > > for servlet [uploadServlet] in context with path [] threw exception
> > >
> > > org.apache.commons.fileupload.MultipartStream$MalformedStreamException:
> > > Stream ended unexpectedly
> > > 06-Feb-2020 13:38:04.999 SEVERE *[https-openssl-apr-443-exec-2]*
> > > org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service()
> > > for servlet [uploadServlet] in context with path [] threw exception
> > >
> > > org.apache.commons.fileupload.MultipartStream$MalformedStreamException:
> > > Stream ended unexpectedly
> > >
> >
> > Ok, so your problem seems to be about HTTP/2 rather than the rewrite
> valve:
> > HTTP/2 is usually not used without TLS and ALPN. You should continue to
> > post more details. Something you can try is use the NIO connector (with
> > OpenSSL or JSSE) rather than APR, it would be a more common
> configuration.
> >
> > Rémy
> >
> > >
> > >
> > > Best regards,
> > >
> > > Hua
> >
>

Reply via email to