Из ранее заданного вопроса я знаю, что могу направлять запросы на другие серверы с помощью обратного прокси, например mod_proxy для apache. У меня вопрос, прежде чем я углублюсь в его настройку, какой из обратных прокси позволит мне принять решение о маршруте на основе HTTP или ws в заголовке запроса. Так, например, я бы хотел, чтобы все запросы поступали на https://example.com
перенаправляться на lanserver: 443, а запросы, приходящие на прокси с wss://example.com
для перенаправления на конечную точку веб-сокета на сервере lanserver: 8443.
Возможно ли это с помощью mod_proxy? Или любой другой прокси Linux?
Спасибо.
Поскольку я ответил на ваш первый вопрос, я мог бы также ответить и на этот. :)
Похоже, что mod_proxy может делать Это, но так может Nginx и HAproxy (или Вот).
Эти ссылки, по крайней мере, показывают, что проксирование WebSockets работает, но то, как вы на самом деле сделаете это с Apache или Nginx, потребует некоторой работы.
С другой стороны, предоставленные ссылки HAproxy показывают, как именно это сделать так, как вы хотите.
Спойлер: вы обнаруживаете присутствие Upgrade: websocket
заголовок и маршрут на основе этого.