-
Notifications
You must be signed in to change notification settings - Fork 4
WSS узел Bitshares
Если ваш GUI работает через https, то он уже не сможет взаимодействовать с узлом, доступ к которому не обеспечен шифрованием. Поэтому появляется необходимость перейти от ws к wss при работе с RPC интерфейсом узла.
Узел он же witness_node имеет возможность открывать RPC интерфейс с TLS шифрованием при помощи параметров rpc-tls-endpoint
, server-pem
и server-pem-password
. задаются они параметрами при запуске или же в config.ini
файле в data директории:
# Endpoint for TLS websocket RPC to listen on
# rpc-tls-endpoint =
# The TLS certificate file for this server
# server-pem =
# Password for this certificate
# server-pem-password =
Но данный подход не очень приветствуется из-за безопасности и отсутствия централизованной точки входа, поэтому лучше запускать узел с закрытым от внешней сети RPC интерфейсом без шифрования и проксировать на него зашифрованный web socket через nginx. Данный подход дает общую точку входа как на узел так и на faucet и дает возможность балансировать нагрузку между узлами силами nginx в будущем.
- Для начала давайте убедимся, что RPC интерфейс узла закрыт от внешней сети:
# Endpoint for websocket RPC to listen on rpc-endpoint = 127.0.0.1:8090
- Далее, для того чтобы nginx начал проксировать, нужно добавить правило в конфигурацию (в ту ее часть, которая относится к SSL порту, обычно это 443 порт):
В дальнейшем через
location ~ /ws/? { access_log on; proxy_pass http://localhost:8090; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_next_upstream error timeout invalid_header http_500; proxy_connect_timeout 2; }
proxy_pass
возможно задавать сразу нескольких узлов для распределения нагрузки.
Полный пример конфигурации nginx для сервера, где работает узел с faucet и GUI можно посмотреть в README нашего форка репозитория faucet "tapin". - Теперь узел доступен по url
wss://yourdomain:port/ws
.