Назад | Перейти на главную страницу

Не могу заставить socket.io работать с Elastic Beanstalk

В настоящее время у меня работает экземпляр Elastic Beanstalk без балансировки нагрузки, в будущем я буду использовать Elastic Load Balancer.

Мой экземпляр EB находится за прокси-сервером nginx, я знаю, что для решения этой проблемы я могу отключить прокси-сервер nginx, но это повлияет на меня, поскольку я масштабирую приложение в будущем.

Я прочитал статью в Интернете, в которой говорилось, что если я добавлю папку .ebextensions в свое приложение, я смогу добавить файл, чтобы веб-сокеты могли отвечать через прокси, но мне не повезло.

Когда я проверяю свои журналы EB, я вижу, что входящий запрос сокета получен, но ничего не отправляется обратно подключающемуся клиенту.

У меня есть файл 01_files.config в моей папке .ebextensions (которая находится в корне моего приложения.

Его содержание:

 files:
    "/etc/nginx/conf.d/websocketupgrade.conf" :
        mode: "000755"
        owner: root
        group: root
        content: |
             proxy_set_header        Upgrade         $http_upgrade;
             proxy_set_header        Connection      "upgrade";

Как я могу заставить веб-сокеты работать через мой экземпляр EB без отключения прокси-сервера nginx?