Я так потерян и новичок в создании NGINX самостоятельно, но я хочу иметь возможность включать безопасные веб-сокеты без дополнительного уровня.
Я не хочу включать SSL на самом сервере websocket, но вместо этого хочу использовать NGINX для добавления уровня SSL ко всему этому.
На каждой странице написано, что я не могу этого сделать, но я знаю, что могу! Спасибо тому, кто (я) может показать мне, как!
proxy_read_timeout
работает, я отредактировал ответ.location
директива помещается в однуserver
или другуюlocation
директиву (см. Документацию по местоположению ).backend_host
- этоupstream
(см. документацию вверх по течению ) - один или группа серверов, к которым вы будете подключаться.Не бойтесь, потому что отважная группа программистов Ops разрешила ситуацию, когда бренд порвал новый модуль nginx_tcp_proxy_module
Написано в августе 2012 года, поэтому, если вы из будущего, сделайте домашнее задание.
Предпосылки
Предполагается, что вы используете CentOS:
init.d/nginx
скрипт)yum install pcre pcre-devel openssl openssl-devel
и любые другие необходимые библиотеки для сборки NGINXСоздайте свой новый NGINX
Опять же, предполагает CentOS:
cd /usr/local/
wget 'http://nginx.org/download/nginx-1.2.1.tar.gz'
tar -xzvf nginx-1.2.1.tar.gz
cd nginx-1.2.1/
patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch
./configure --add-module=/path/to/nginx_tcp_proxy_module --with-http_ssl_module
(вы можете добавить дополнительные модули, если они вам нужны)make
make install
По желанию:
sudo /sbin/chkconfig nginx on
Настроить Nginx
Не забудьте сначала скопировать старые файлы конфигурации, если вы хотите использовать их повторно.
Важно: вам нужно будет создать
tcp {}
директиву на самом высоком уровне в вашем conf. Убедитесь, что это не входит в вашуhttp {}
директиву.В приведенном ниже примере конфигурации показан один восходящий сервер websocket и два прокси для SSL и без SSL.
источник
Это сработало для меня:
- заимствовано из: https://github.com/nicokaiser/nginx-websocket-proxy/blob/df67cd92f71bfcb513b343beaa89cb33ab09fb05/simple-wss.conf
источник
# WebSocket support
нож сделал это за меня. Раньше я пытался перенаправить порт 400, однако wss работает и над 443. К вашему сведению, будущие читатели :)для .net core 2.0 Nginx с SSL
Это сработало для меня
источник
Для меня все сводилось к
proxy_pass
настройке местоположения. Мне нужно было перейти на использование протокола HTTPS и иметь действующий сертификат SSL, настроенный на стороне сервера узла. Таким образом, когда я представляю внешний сервер узла, мне нужно только изменить IP, а все остальное остается в той же конфигурации.Надеюсь, это кому-то поможет ... Я все время смотрел на проблему ... вздох ...
источник
localtion /horizon
, но не работает. Толькоlocaltion /
илиlocation /websockify
работает. Не знаю почему ...Хорошая и лаконичная статья Панкаджа Малхотры, в которой обсуждается, как это сделать с помощью NGINX, доступна здесь .
Базовая конфигурация NGINX воспроизводится ниже:
источник
Использование nginx / 1.14.0
У меня есть веб-сервер, работающий на порту 8097, и пользователи подключаются к wss на порту 8098, nginx просто расшифровывает контент и перенаправляет его на сервер веб-сокета
Итак, у меня есть этот файл конфигурации (в моем случае
/etc/nginx/conf.d/default.conf
)источник