Size: a a a

2021 May 14

AM

Aleksandr Moskvitin in nginx_ru
если кому интересно, в стандартную поставку официального докер контейнера входит njs
по крайней мере в этот nginx:1.19.2-alpine

./usr/lib/nginx/modules/ngx_http_js_module.so
./usr/lib/nginx/modules/ngx_http_image_filter_module.so
./usr/lib/nginx/modules/ngx_http_js_module-debug.so
./usr/lib/nginx/modules/ngx_stream_js_module-debug.so
./usr/lib/nginx/modules/ngx_stream_js_module.so
источник

ZZ

Zudva Zudvin in nginx_ru
То есть нужно обратится к самому websocket на 8010-порту через proxy_pass http://websocket

Ясно.

А если у меня https ?
источник

A

Anton in nginx_ru
https у тебя “раскрывает” nginx
источник

Y

Yuri in nginx_ru
попробуй 🙂
источник

MT

Mike Tune in nginx_ru
@shiiden

Есть конфиг с рабочим прокси для python-ws и nginx, там все ок. Поднимается ws сервер, поднимается nginx. ws сервер оформлен как upstream с соответствующим адресом. И тут вопросов нет.

Но если мы подключаем ssl, то все усложняется и nginx возвращает нам 502 (обрыв соединения во время чтения заголовков) либо ошибку во время handshake. К сожалению, мне не хватает знаний, чтобы понять это ошибка на уровне nginx, или на уровне ws сервера, либо и то и другое )

При том, что wscat (утилита для тестирования сокетов) в обход nginx подключается к python-ws серверу.

Могу прислать примеры конфигов?
источник

Y

Yuri in nginx_ru
Если хочешь - можно в личку, чтобы не мусорить
источник

MT

Mike Tune in nginx_ru
Ок, дайте пару минут, подготовлю их и пришлю в личку
источник

A

Anton in nginx_ru
когфиг на пастбин
источник

MT

Mike Tune in nginx_ru
ок
источник

Y

Yuri in nginx_ru
может быть вообще проблема в том, что вы ws вместо wss в урле пишете 🙂
источник

A

Anton in nginx_ru
мне кажется при проксировании протокол не тот)
источник

Y

Yuri in nginx_ru
Тоже легко
источник

MT

Mike Tune in nginx_ru
Ох, я уже брутфорсом от отчаяния все варианты начал пробовать, но пока безрезультатно (
Сейчас пришлю детали
источник

MT

Mike Tune in nginx_ru
@shiiden вот два конфига, для ws сервера и для nginx

https://pastebin.com/B8UgdGQM
https://pastebin.com/hN0y14MF

не могу понять где я раздолбай, помогите )
источник

MT

Mike Tune in nginx_ru
упс, сейчас исправлю деталь
источник

MT

Mike Tune in nginx_ru
исправил второй линк
источник

A

Anton in nginx_ru
netstat -antp| grep 8010
источник

MT

Mike Tune in nginx_ru
минутку, сейчас
источник

Y

Yuri in nginx_ru
Если python-сервер запущен с ssl, тогда в nginx
proxy_pass https://websocket;
источник

Y

Yuri in nginx_ru
Это как минимум
источник