Как настроить apache для поддержки веб-сокетов - PullRequest
0 голосов
/ 08 апреля 2020

Я написал сервер в python и теперь я хотел бы настроить apache веб-сервер для поддержки веб-сокетов. Мой сервер возвращает информацию, когда клиент отправляет запросы на эти адреса:

def make_app():
    return tornado.web.Application([
        (r"/playgame", EmptyGame),
        (r"/playgame/", EmptyGame),
        (r"/playgame/(.*)", PlayerGameWebsocket)
    ])

Как настроить сервер для поддержки обычного пользовательского трафика c, но также для включения веб-сокетов, когда клиент устанавливает такое соединение?

Я пользователь сервера apache2.4.

1 Ответ

0 голосов
/ 09 апреля 2020

Хорошо, оказалось, что решение тривиально. Если кто-то когда-либо искал ответ, просто добавьте простое перенаправление к приложению в конфигурации виртуального хоста, который прослушивает localhost:

ProxyPassMatch "/playgame/(.*)" "ws://127.0.0.1:8888/playgame/$1"
ProxyPassReverse "/playgame/(.*)" "ws://127.0.0.1:8888/playgame/$1"

Благодаря такому синтаксису мы можем даже передавать дополнительные данные, например, "/ пустяки / 123" . Мы подключаемся с клиента без указания порта:

var adr = "ws://serverip/playgame/" + gameid;
var ws = new WebSocket(adr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...