В этой статье мы рассмотрим socket.io + apache как реверс прокси. CentOS по умолчания поставляется со всеми нужными модулями для работы с реверс прокси. Нам ничего не нужно устанавливать, просто настроить виртуальный хост
Прежде всего мы должны открыть порт 3000
Открываем файл где наш <VirtualHost …>…</VirtualHost> размещены. Это может быть разные места в папке /etc/httpd. Добавляем туда строки
1 2 3 4 5 6 7 8 9 10 11 12 |
RewriteEngine On RewriteCond %{REQUEST_URI} ^/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /(.*) ws://127.0.0.1:3000/$1 [P,L] ProxyPass /chat http://127.0.0.1:3000 ProxyPassReverse /chat http://127.0.0.1:3000 ProxyPass /socket.io http://127.0.0.1:3000/socket.io ProxyPassReverse /socket.io http://127.0.0.1:3000/socket.io |
В клиенте используем свой публичный домен
1 |
var socket = io.connect('http://yourpublicDomain.com/'); |
Это все. Сейчас наводимся на урл yourpublicDomain.com/chat и socket.io должен успешно работать.
ссылка http://xpo6.com/socket-io-via-apache-reverse-proxy/