- Platform information:
- Hardware: Docker on a very capable unraid server
- Image (pretty much the latest snapshot): https://hub.docker.com/layers/openhab/openhab/snapshot/images/sha256-3a00c9a9c932f9849d855534b8fb1c6f290ce37bbf0d95e0d26d4e026f8ba4a8
- Issue of the topic:
I have just started with OpenHAB and decided I wanted to run snapshots, as I dont have anything critical here. I set up the entire system, and decided to expose it through a reverse proxy. I am using apache2 as the reverse proxy on a separate host, since that is what I have to handle inbound internet traffic. This resulted in a 502 bad gateway in my browser. Note: I can access directly via local IP with no issues at all. Wget gives invalid_preface. See below karaf logs as well. Does 5.0.0 only support http2? Am I doing something wrong? Ideally I do not want to use apache mod_proxy_http2.
Update: I have tried a variety of apache settings (aside from mod_proxy_http2) and I am convinced that this is a http2 issue as opposed to proxy settings. Setting reverse proxy to use http instead of https, the site is loading fine. wget works as well. It seems specifically restricted to https. I would still prefer to use https even internally though. Can anyone confirm if this is the case in 4.3 as well?
- Please post configurations (if applicable):
probably not applicable here - If logs where generated please post these here using code fences:
java.io.IOException: protocol_error/invalid_preface
at org.eclipse.jetty.http2.HTTP2Session.toFailure(HTTP2Session.java:631) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Session.access$2800(HTTP2Session.java:81) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Session$StreamsState.onSessionFailure(HTTP2Session.java:1921) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Session$StreamsState.access$400(HTTP2Session.java:1488) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Session.onSessionFailure(HTTP2Session.java:576) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Session.onConnectionFailure(HTTP2Session.java:571) ~[?:?]
at org.eclipse.jetty.http2.parser.Parser$Listener$Wrapper.onConnectionFailure(Parser.java:450) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Connection$ParserListener.onConnectionFailure(HTTP2Connection.java:407) ~[?:?]
at org.eclipse.jetty.http2.parser.PrefaceParser.notifyConnectionFailure(PrefaceParser.java:81) ~[?:?]
at org.eclipse.jetty.http2.parser.PrefaceParser.parse(PrefaceParser.java:62) ~[?:?]
at org.eclipse.jetty.http2.parser.ServerParser.parse(ServerParser.java:105) ~[?:?]
at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:271) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:362) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:186) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:193) ~[?:?]
at org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:138) ~[?:?]
at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:444) ~[?:?]
at org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:130) ~[?:?]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[?:?]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[?:?]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555) ~[?:?]
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410) ~[?:?]
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164) ~[?:?]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[?:?]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[bundleFile:9.4.57.v20241219]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[bundleFile:9.4.57.v20241219]
at java.lang.Thread.run(Unknown Source) [?:?]