HTTPS 上的 Atmosphere Websockets
Atmosphere Websockets over HTTPS
我已经使用基于 Atmosphere 的网络套接字开发了一个多聊天室,它在 HTTP 连接上运行良好。但是,当我尝试使用基于 HTTPS 的连接时,它失败了。
我使用了Atmosphere 的Simple Broadcaster 策略,在调试时发现它确实进入了@OnReady 函数。
但是,广播连接很快就会中止,因此 @OnMessage 中没有代码执行。
我已经在 AWS 上部署了该应用程序并打开了必要的端口。
我在两者之间使用了nginx。 nginx 的 Websocket 配置已经设置。
以下是相同的代码。
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
我们还需要做些什么来允许来自 HTTPS 的 websocket 响应吗?
我在 运行 我的应用程序 .jar 时也遇到了同样的问题,但是当我
更改了应用程序并 运行 在 对其进行了更改。war 它工作正常。
虽然我不确定为什么 运行 作为 .jar 的应用程序存在问题,但您可以尝试一下。
我已经使用基于 Atmosphere 的网络套接字开发了一个多聊天室,它在 HTTP 连接上运行良好。但是,当我尝试使用基于 HTTPS 的连接时,它失败了。
我使用了Atmosphere 的Simple Broadcaster 策略,在调试时发现它确实进入了@OnReady 函数。 但是,广播连接很快就会中止,因此 @OnMessage 中没有代码执行。 我已经在 AWS 上部署了该应用程序并打开了必要的端口。 我在两者之间使用了nginx。 nginx 的 Websocket 配置已经设置。 以下是相同的代码。
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
我们还需要做些什么来允许来自 HTTPS 的 websocket 响应吗?
我在 运行 我的应用程序 .jar 时也遇到了同样的问题,但是当我 更改了应用程序并 运行 在 对其进行了更改。war 它工作正常。
虽然我不确定为什么 运行 作为 .jar 的应用程序存在问题,但您可以尝试一下。