Я тестировал простое чат-веб-приложение локально, и оно работало нормально, и после его развертывания я изменил протокол балансировки нагрузки на TCP и отредактировал входящие правила группы безопасности Elastic Beanstalk и установил его в любом месте, также я добавил .conf-файл вПапка .ebextensions в каталоге приложения перед развертыванием wicth содержит следующий текст:
files:
"/etc/nginx/conf.d/websockets.conf" :
content: |
upstream backend {
server unix:///var/run/puma/my_app.sock;
}
server {
listen 80;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
server_name XXXX-west-2.elasticbeanstalk.com/
# prevents 502 bad gateway error
large_client_header_buffers 8 32k;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# prevents 502 bad gateway error
proxy_buffers 8 32k;
proxy_buffer_size 64k;
proxy_pass http://backend;
proxy_redirect off;
location /assets {
root /var/app/current/public;
}
# enables WS support
location /cable {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
container_commands: 01restart_nginx: команда: "перезапуск службы nginx", но в итоге у меня все еще есть эта ошибка:
WebSocket connection to 'ws://XXXX-west-2.elasticbeanstalk.com/chat' failed: Error during WebSocket handshake: Unexpected response code: 404