Tomcat Http и Https на одном порту - PullRequest
4 голосов
/ 13 мая 2010

У меня есть конечная точка веб-службы и http-коннектор на порту X. В какой-то момент эта конечная точка должна переключиться на https, но на тот же порт! (Я знаю, что это не нормальный способ ведения дел, но это то, что мои клиенты ожидают от старого сервера, который они используют ...)

Есть ли способ сделать это в tomcat?

Ответы [ 4 ]

5 голосов
/ 13 мая 2010

Это невозможно с Tomcat. Разъем HTTPS будет принимать только SSL-соединение.

У нас есть такой прокси, разработанный в нашей компании.Это не так сложно сделать.Вам просто нужно проверить первый входящий пакет.Ищем образец SSL рукопожатия.Мы ищем только CLIENT_HELLO.Как только вы выясните протокол, вы можете соответственно переслать запрос.

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

0 голосов
/ 14 мая 2010

Существует такая вещь, как обновление HTTPS, когда незашифрованное HTTP-соединение обновляется до HTTP по взаимному согласию после его формирования. Это то, что вы имели ввиду? Если так, Tomcat, похоже, не поддерживает его «из коробки», а также не поддерживает Java «из коробки». Вы можете написать себе Tomcat Connector, который это сделает; на стороне клиента у вас есть более интересная проблема; -)

Но я бы спросил почему? Порты не так дороги, что вы не можете использовать два.

0 голосов
/ 14 мая 2010

хорошо, я удивляюсь, почему они обычно НЕ находятся на одном и том же порту! Разве это не будет проще?

причина, вероятно, в том, что связанные Java APIS (javax.net.ssl) этого не позволяют; у вас должны быть разные серверные сокеты. Есть ли альтернативные SSL-ссылки для Java? Я не знаю ни о чем.

0 голосов
/ 13 мая 2010

Вам не нужно запускать HTTP и HTTPS на одном и том же порту. Настройте Tomcat для перенаправления запросов на HTTPS в файле server.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...