gpt4 book ai didi

apache - 通过 Apache 和 Tomcat 的 WebSockets : HTTP upgrade is not supported by the AJP protocol

转载 作者:行者123 更新时间:2023-11-28 21:46:39 26 4
gpt4 key购买 nike

我正在使用 WebSockets 进行开发,并制作了一个在 Tomcat 8 上运行的工作 Web 应用程序。但是,在它前面使用 Apache 2 进行测试时,客户端收到 HTTP 500 并且 Tomcat 日志显示:

 java.lang.UnsupportedOperationException: HTTP upgrade is not supported by the AJP protocol
at org.apache.coyote.ajp.AbstractAjpProcessor.action(AbstractAjpProcessor.java:587)
at org.apache.coyote.Request.action(Request.java:379)
at org.apache.catalina.connector.Request.upgrade(Request.java:1886)
at org.apache.catalina.connector.RequestFacade.upgrade(RequestFacade.java:1114)
at org.apache.tomcat.websocket.server.UpgradeUtil.doUpgrade(UpgradeUtil.java:231)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:77)

这在通过 HTTP 连接器直接访问 Tomcat 时有效。如果 AJP 不支持,是否有解决方法?

最佳答案

使用 Apache 模块 mod_proxy_wstunnel :

sudo a2enmod mod_proxy_wstunnel

然后通过将其添加到 apache.conf 来使用它来让 WebSocket 连接通过:

ProxyPass "/ws2/"  "ws://localhost:8180/ws"

并确保您已使用 <Connector protocol="HTTP/1.1" port="8180" ...> 在 Tomcat 中启用了 HTTP 连接器在server.xml .

关于apache - 通过 Apache 和 Tomcat 的 WebSockets : HTTP upgrade is not supported by the AJP protocol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com