「WSS:// ip_address:8008/ws /イベント」へのWebSocket接続に失敗しました:WebScocket開始ハンドシェイクがタイムアウトしました
HTTPSでUIを開くときのみ、HTTPではそのhttpでのみタイムアウトしました...
UbuntuのOpenSSLを使用して証明書を生成しました
私のUWSGIの設定はです
socket = /tmp/uwsgi.sock
chmod-socket = 666
socket-timeout = 60
chdir = <Django path>
wsgi-file = <Django_path>/wsgi.py
virtualenv = <path_to_virtualenv>
vacuum = true
enable-threads = true
threads=500
startup-timeout = 15
graceful-timeout = 15
http-socket=<my_ip>:8008
http-websockets=true
_
私のNginx構成はです
server {
listen <ip>:80 default;
listen <ip>:443 ssl http2 default_server;
ssl_certificate <path>/generate_crt.crt;
ssl_certificate_key <path>/generated_key.key;
client_body_buffer_size 500M;
client_body_timeout 300s;
keepalive_timeout 5000;
client_max_body_size 700M;
access_log syslog:server=unix:/dev/log;
root /tmp/MVM_APPS/angularjs/dist;
index index.html index.htm;
server_name localhost;
location /api {
uwsgi_pass unix:///tmp/uwsgi.sock;
include uwsgi_params;
uwsgi_read_timeout 120;
uwsgi_send_timeout 1000;
}
location /ws/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_pass http://<ip>:8008;
proxy_read_timeout 86400;
}
location /static {
alias /<path>/static;
}
location / {
try_files $uri $uri/ /index.html;
}
}
_
私はDjango WS4REDISパッケージで)を使用しています。
TLS(WSS)プロトコルを介して作業するWeb-Socketsの場合は、証明書を生成した後にSSL証明書を生成する必要があります。
https-socket=[ip]:[port], /path_to_server_certificate, /path_to_key
_
サーバーを再起動します(オプションで2つ以上のフィールドを渡すこともできます[、暗号、CA])詳細を見つけることができます ここ 。
あるいは、メッセージブローカーができる場合は、MQTTやStompのようなメッセージングプロトコルを使用して、直接それをクライアントに公開できます。