Задать вопрос

Как верно настроить Nginx & Node + socket.io?

Здравствуйте. Начал настраивать тестовое приложение для проверки сокета (видео-чат). Поставил node на порт 8888, сам сайт находится на 80 порту.
index.html : pastebin.com/2454EYmi
server.js: pastebin.com/H90XS3Mc
Когда захожу на сайт, пытаются пройти запросы к site.ru/socket.io/?EIO=3&transport=polling&t=14410..., и отдаётся 404 ошибка.
Что нужно изменить в nginx, чтобы при заходе на сам сайт проксировалось на 8888 порт?
Настройки nginx: pastebin.com/duiFQxrw
Спасибо.
  • Вопрос задан
  • 1782 просмотра
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@ofstudio
У меня приложение на meteor.js — там у него внутри сокеты как раз. Настройки такие

# =========================== live.wcs.life ===========================
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    server_name live.wcs.life www.live.wcs.life;
    listen 80;
    access_log /srv/www/logs/live.wcs.life.access.log;
    error_log /srv/www/logs/live.wcs.life.error.log;
    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP

        # This setting allows the browser to cache the application in a way compatible 
        # with Meteor on every applicaiton update the name of CSS and JS file is different,
        # so they can be cache infinitely (here: 30 days)
        # The root path (/) MUST NOT be cached
         if ($uri != '/') {
             expires 30d;
         }    
    } 

}
Ответ написан
Комментировать
@SibTeam
В конфиг nginx:
location ~* \.io {
      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;
      proxy_pass http://localhost:8888;
      proxy_redirect off;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы