Saya mencoba mengatur koneksi websocket (wss). Domain saya menggunakan ssl (certbot) dan ditenagai oleh Nginx. Saya tidak yakin cara mengkonfigurasi /etc/nginx/sites-available/domain.com
file saya .
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
...
}
Saya menambahkan yang berikut ini ke dalam blok konfigurasi saya:
location /websocket {
proxy_pass https://domain.com;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
Saat menghubungkan melalui wss://domain.com/
:, saya mendapatkan pesan kesalahan
WebSocket connection to 'wss://domain.com/' failed:
Error during WebSocket handshake: Unexpected response code: 200
Sebagian besar contoh di luar sana menggunakan kerangka kerja nodejs untuk melayani situs mereka, tetapi saya menggunakan php.
WebSocket connection to 'wss://domain.com/websocket' failed: Error during WebSocket handshake: Unexpected response code: 500
dengan pengaturan itu, jadi tidak yakin apakah itu konfigurasi saya atau port yang perlu dikonfigurasi?https://domain.com
? 500 menunjukkan kesalahan server, kemungkinan besar dari back-end yang Anda proksi, ketika mencoba menanggapi permintaan soket web. Periksa aplikasi PHP dengan benar menerima permintaan soket web dan berbicara soket web sebagai tanggapan. Lognya dapat memberikan bantuan lebih lanjut dalam hal ini.