在 AWS 上使用 Vaadin 并启用负载均衡器和推送的 Websocket 错误

问题描述

我在 AWS elasticbeanstalk 上启用负载平衡时收到此错误

Vaadin 应用在没有负载平衡器的情况下定期运行。

知道如何解决这个问题吗?

[Error] WebSocket connection to 'ws://console3.myapp.it/?v-r=push&v-uiId=1&v-pushId=3189d42a-dac5-4c4b-a196-98bf3fdd337e&X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.3.2.vaadin1-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&Content-Type=application/json;%20charset=UTF-8&X-atmo-protocol=true' Failed: Unexpected response code: 200
[Error] Failed to load resource: the server responded with a status of 502 (Bad Gateway) (console3.myapp.it,line 0)
[Error] Unhandled Promise rejection: – "Client is resynchronizing" – "; Zone:" – "<root>" – "; Task:" – "XMLHttpRequest.addEventListener:readystatechange" – "; Value:" (2)
Error: Client is resynchronizing(funzione anonima) — client-4C23589935A74206212F474A719FC41C.cache.js:792:92forEachtw — client-4C23589935A74206212F474A719FC41C.cache.js:792qv — client-4C23589935A74206212F474A719FC41C.cache.js:702Ev — client-4C23589935A74206212F474A719FC41C.cache.js:1035:26387d — client-4C23589935A74206212F474A719FC41C.cache.js:678forEachrv — client-4C23589935A74206212F474A719FC41C.cache.js:690Gr — client-4C23589935A74206212F474A719FC41C.cache.js:1031:165Hr — client-4C23589935A74206212F474A719FC41C.cache.js:1012:404Wt — client-4C23589935A74206212F474A719FC41C.cache.js:1035:24288uC — client-4C23589935A74206212F474A719FC41C.cache.js:1035:37400(funzione anonima) — client-4C23589935A74206212F474A719FC41C.cache.js:614sb — client-4C23589935A74206212F474A719FC41C.cache.js:440vb — client-4C23589935A74206212F474A719FC41C.cache.js:896(funzione anonima) — client-4C23589935A74206212F474A719FC41C.cache.js:622L — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1696413(funzione anonima) — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1680927(funzione anonima) — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1686825v — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1699889b — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1700114
    (funzione anonima) (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689290)
    d (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689710)
    t (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689613)
    (funzione anonima) (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689630)
    g (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1688076)
    (funzione anonima) (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1686848)
    v (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1699889)
    b (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1700114)
[Error] Unhandled Promise rejection: – "Client is resynchronizing" – "; Zone:" – "<root>" – "; Task:" – "XMLHttpRequest.addEventListener:readystatechange" – "; Value:" (2)
Error: Client is resynchronizing(funzione anonima) — client-4C23589935A74206212F474A719FC41C.cache.js:792:92forEachtw — client-4C23589935A74206212F474A719FC41C.cache.js:792qv — client-4C23589935A74206212F474A719FC41C.cache.js:702Ev — client-4C23589935A74206212F474A719FC41C.cache.js:1035:26387d — client-4C23589935A74206212F474A719FC41C.cache.js:678forEachrv — client-4C23589935A74206212F474A719FC41C.cache.js:690Gr — client-4C23589935A74206212F474A719FC41C.cache.js:1031:165Hr — client-4C23589935A74206212F474A719FC41C.cache.js:1012:404Wt — client-4C23589935A74206212F474A719FC41C.cache.js:1035:24288uC — client-4C23589935A74206212F474A719FC41C.cache.js:1035:37400(funzione anonima) — client-4C23589935A74206212F474A719FC41C.cache.js:614sb — client-4C23589935A74206212F474A719FC41C.cache.js:440vb — client-4C23589935A74206212F474A719FC41C.cache.js:896(funzione anonima) — client-4C23589935A74206212F474A719FC41C.cache.js:622L — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1696413(funzione anonima) — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1680927(funzione anonima) — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1686825v — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1699889b — vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1700114
    (funzione anonima) (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689290)
    d (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689710)
    t (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689613)
    (funzione anonima) (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1689630)
    g (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1688076)
    (funzione anonima) (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1686848)
    v (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1699889)
    b (vaadin-bundle-7bcbd4c63d030f328f20.cache.js:4928:1700114)

解决方法

经典负载均衡器不支持 Websocket。

安装 Application Load Balancer 而不是 Classic Load Balancer 将解决问题。

https://aws.amazon.com/elasticloadbalancing/features/?nc1=h_ls