- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приложение работает на express.js + socket.io + redis + mysql.
Выложил сайт на тестирование на qa-стенд (14.x ubuntu server).
На убунте есть nginx 1.10.x.
Получаю ошибку 502 Bad Gateway. В err-логе nginx'a пишет:
2017/02/14 00:50:31 [error] 11325#11325: *9 upstream prematurely closed connection while reading response header from upstream, client: 192.168.1.1, server: admin.mydomain.com, request: "GET /socket.io/?EIO=3&transport=polling&t=LevT9z1&sid=9Jg8IjXWdDWb_wZvAAAB HTTP/1.1", upstream: "http://127.0.0.1:7103/socket.io/?EIO=3&transport=polling&t=LevT9z1&sid=9Jg8IjXWdDWb_wZvAAAB", host: "admin.mydomain.com:7001", referrer: "http://admin.mydomain.com:7001/section/advertising/42"
Интересно то, что этот же url (/section/save) но другие данные (post-запрос так же, но отсылаемый json может быть другого размера, как больше так и меньше) и все работает нормально.
Для интереса, поставил nginx на девелоперскую машину с виндой и запустил в кластере чтоб было все как на убунте - и... все работает!
nginx.conf выглядит так:
Конфиг для сайта выглядит так:
upstream nodes {
ip_hash;
server 127.0.0.1:7101;
server 127.0.0.1:7102;
server 127.0.0.1:7103;
server 127.0.0.1:7104;
server 127.0.0.1:7105;
server 127.0.0.1:7106;
server 127.0.0.1:7107;
server 127.0.0.1:7108;
}
server {
listen *:7001;
server_name admin.mydomain.com;
access_log off;
error_log /var/log/nginx/error.log;
location / {
auth_basic "Admin Zone";
auth_basic_user_file /mnt/sdb1/mydomain/.htpasswd;
proxy_pass http://nodes;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
location ~* \.(jpg|jpeg|gif|png|webp|ico|css|bmp|swf|js|html|txt|ejs)$ {
root /mnt/sdb1/mydomain/admin/www;
expires max;
}
}
Что я делал:
- увеличивал:
proxy_connect_timeout
proxy_send_timeout
proxy_read_timeout
- добавлял:
proxy_buffers 8 32k;
proxy_buffer_size 64k;
proxy_redirect off;
= результат нулевой!
Приложение работает на всех портах перечесленных в upstream, не падает ничего.
Объясните мне, почему nginx рубит конект? Что я тут не так наворотил?
Может потому что nginx под винду используется последней версии? А в ином случае нет?
проблема может быть в чем угодно, начиная от версии php и тд. нужно детальнее изучать другие логи.
502 в основном это проблема дальше nginx.
smbbws, нет
SocFishing, причем php? нет тут php, читайте внимательней тему)
LEOnidUKG, вы правы, где то на бэке ошибка, молчаливая, т.к. в логах пусто. нужно разбираться, спасибо)
Вы случаем не пытаетесь проксировать вебсокеты?
Попробуйте добавить:
А это если WebSocket используются:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
http://nginx.org/ru/docs/http/websocket.html
demiux, не-не, ошибка на бэке