Skip to content

Instantly share code, notes, and snippets.

@flayder
Created June 25, 2019 16:40
Show Gist options
  • Save flayder/f81f45f9ef0aa965d64184a716bb7e0d to your computer and use it in GitHub Desktop.
Save flayder/f81f45f9ef0aa965d64184a716bb7e0d to your computer and use it in GitHub Desktop.
#nginx
location /websocket {
# switch off logging
#access_log off;
# redirect all HTTP traffic to localhost
proxy_pass http://127.0.0.1:8087;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support (nginx 1.4)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Path rewriting
rewrite /websocket(.*) /$1 break;
proxy_redirect off;
# timeout extension, possibly keep this short if using a ping strategy
proxy_read_timeout 99999s;
}
#ratchet
<?php
require dirname(__DIR__) . '/vendor/autoload.php';
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
$app = new \Ratchet\Http\HttpServer(
new \Ratchet\WebSocket\WsServer(
new \MyApp\Chat()
)
);
$loop = \React\EventLoop\Factory::create();
$secure_websockets = new \React\Socket\Server('0.0.0.0:8087', $loop);
$secure_websockets_server = new \Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->run();
#js
var conn = new WebSocket('wss://psbox.ru/websocket');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment