как получить куки-файлы двух серверов 1. запускает приложение (HTTP), 2. запускает сервер websocket (WS)?

1

У меня есть приложение, которое размещено на сервере tomcat на порту 8080. и одно и то же приложение, использующее соединение websocket, которое указывает на другой сервер tomcat на порту 1234. Но когда я выполняю " document.cookie " с консоли веб-браузера, он показывает только файлы cookie с сервера websocket (2-й сервер, порт 1234), но мне нужны все файлы cookie с обоих серверов. Кто-нибудь может мне помочь?

Теги:
websocket

1 ответ

0
Лучший ответ

Там никоим образом не обойти это, как то, как были разработаны куки - один сервер не может видеть другие куки.

Самый простой способ сделать это - добавить прокси-код на сервер Tomcat, который перенаправляет все запросы, отправленные на определенную конечную точку на ваш сервер на порт 1234.

Например, если вы хотите, чтобы все запросы, отправляемые на http://localhost: 8080/websockets, были перенаправлены на ваш сервер по адресу http://localhost: 1234, затем настройте Tomcat, запущенную на порту 8080 следующим образом:

ProxyPass         /websockets  http://localhost:1234/webapp
ProxyPassReverse  /websockets  http://localhost:1234/webapp

Вот документы для прокси-сервера Tomcat, они хорошие, но довольно простые:

https://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html

В производстве вы, вероятно, будете иметь выделенный прокси-сервер перед обоими (например, Apache HTTP или NGINX), и это также решит вашу проблему с cookie, учитывая, что браузер будет отправлять запросы только на один сервер/порт.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню