юзаете wss в .js - не забудьте озаботиться тем, чтобы php-сервер тоже слушал это дело как wss, а не ws:
- либо соответствующим (см. доку по ratchet) образом создавайте сокет в коде;
- либо проксируйте через nginx примерно следующим образом (тогда на
https://site.com/
будет сайт, на
wss://site.com/websocket
будет вебсокет):
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name site.com;
ssl_certificate /var/lib/dehydrated/certs/site.com/fullchain.pem;
ssl_certificate_key /var/lib/dehydrated/certs/site.com/privkey.pem;
location /websocket {
proxy_pass http://127.0.0.1:8777;
proxy_pass_header Server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://127.0.0.1:80;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}