Yük dengeleyici ile AWS Elastic Beanstalk üzerinde çalışmak için django kanalları tarafından desteklenen bir sohbet uygulaması elde etmeye çalışıyorum.Django kanalları ile Elastik Beanstalk kullanırken Websocket hatası
Temel olarak Elastic Beanstalk ile çalışmak için https://github.com/jacobian/channels-example kodunu değiştiriyorum. Ben komutuyla başarıyla yerel olarak çalıştırmak mümkün duyuyorum
python manage.py runserver
sorundur Ben Elastik Beanstalk ile dağıtma, ben sohbet uygulaması başlatılır aşağıdaki hatayı alıyorum
WebSocket connection to 'wss://mydomain.com/test/' failed: Error
during WebSocket handshake: Unexpected response code: 200
Denedim çözeltiler https://stackoverflow.com/a/29831723/3667089 de önerilmiştir ama sadece Ayrıca zaten TCP 80 yük dengeleyici dinleyici noktası değiştirildi farklı bir hata kodu
WebSocket connection to 'wss://mydomain.com/test/websocket' failed:
Error during WebSocket handshake: Unexpected response code: 404
gösterdi ve elde edilen Güvenli dinleyici bağlantı noktasını SSL 443 olarak değiştirmek için bir SSL sertifikası alır ancak yine de aynı hatayı alır.
Ayrıca, Websockets with socket.io on AWS Elastic Beanstalk okudum, ancak Django için proxy sunucusunu yapılandırma seçeneği yok, varsayılan olarak Apache kullanıyor düşünüyorum.
Elastic Beanstalk'ün yapılandırılmasını sağlamak için ne yapıyorum?
Bunu değiştirmek için herhangi bir yol var mı, böylece sunucu sunucusunu asgi ile çalıştırabiliriz?
yeniden başlatarak sunucuyu başlatın ve ben işe almak amire kullanmak zorunda kaldı. Kanallar dokümanlar, çalışmayı sağlamak için sunucuyu ('venv/bin/daphne app.asgi: channel_layer') ve işçileri (python manage.py runwoker') çalıştırmanız gerektiğini söylüyor. İsterseniz supervisord.conf'umu cevaplarımda yayınlayabilirim, fakat Elastic Beanstalk'ta işlerin nasıl yürüdüğünden emin değilim. – Brobin
@Brobin Evet, bu çok takdir edilecek – user3667089
Üzgünüm, çok geç kaldım, ama kullandığınız yük dengeleyicisini bilebilir miyim? Klasikse, websockets'ı yerel olarak desteklemez. –