Рейтинг:0

Apache / Websockets: прямые сокеты к разным (или к обоим) портам на основе пути - ProxyPass

флаг gb

Я запускаю веб-сайт на Apache. У меня есть два приложения, которые используют веб-сокеты, одно основано на Node, использующем порт 3000, а другое основано на Phoenix, использующем порт 4000. Оба приложения также используют обратный прокси-сервер. Например, у меня есть что-то вроде этого:

  <Location /node/>
    ProxyPass http://127.0.0.1:3000/
    ProxyPassReverse http://127.0.0.1:3000/
  </Location>

  <Location /phoenix/>
    ProxyPass http://127.0.0.1:4000/
    ProxyPassReverse http://127.0.0.1:4000/
  </Location>

Однако у меня возникают проблемы с работой веб-сокетов. У меня есть что-то вроде этого для приложения Node (вне контекста <Location>):

  RewriteCond %{QUERY_STRING} transport=опрос [NC]
  Правило перезаписи /(.*) http://127.0.0.1:3000/$1 [P]
  RewriteCond %{HTTP:Upgrade} веб-сокет [NC]
  Правило перезаписи /(.*) ws://127.0.0.1:3000/$1 [P]

Я разработал свое приложение Node несколько лет назад, и все работало отлично. Однако в настоящее время я разрабатываю приложение Phoenix и не знаю, как управлять сокетами. В конце концов, я планирую полностью отказаться от приложения Node, но мне нужно, чтобы оно работало для наших пользователей, пока не будет разработано новое приложение. Тем не менее, мне все еще нужно, чтобы новое приложение одновременно работало на веб-сайте, чтобы я мог его разработать. Было бы неплохо, чтобы сокеты работали в обоих приложениях одновременно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.