У меня есть небольшой встроенный сервер, поддерживающий HTTPS с использованием Spark. Я также хочу поддерживать/перехватывать некоторые вызовы HTTP; например как страница справки и некоторые перенаправления.
Например, страница справки:
http://localhost:8088/help .... renders .... http::8088//localhost/help.html
или страница входа:
http://localhost::8088/login ... renders .... https::8089//localhost/login.html
Я дошел до стадии, когда у меня есть встроенный сервер, который отвечает либо на HTTP x, либо на HTTPS — одно или другое, а не оба вместе. Можно ли отвечать на оба протокола одним и тем же встроенным сервером Jetty (через Spark)? Если нет, возможно ли запустить два сервера Jetty в одном встроенном приложении? Могу ли я запустить два сервера Spark в одном приложении? (Я воспринимаю это как «read», что, если Jetty не сделает этого, запрос Spark на эту услугу будет тупиковым).
Я бы предпочел ответить, могу ли я использовать свой сервер Spark для прослушивания и обработки обоих протоколов. Мое исследование до сих пор предполагает, что возможен только один режим, в основном потому, что Spark на самом деле является статической библиотекой, которую вы можете установить только один порт; и у вас может быть только один сервер «Spark». Кто-нибудь использовал один и тот же порт для HTTP и HTTPS? (Это просто не кажется мне «хорошим»).
Я нашел код модульного теста, который выглядел так, как будто он использует оба протокола, TestSparkUtil здесь:
Однако это тестирование сервера и использование множества устаревших API-интерфейсов. И последняя мысль: могу ли я использовать второй (встроенный) сервлет только для Jetty для перенаправления HTTP-вызовов на HTTPS? Вы бы порекомендовали это?
Я уверен, что здесь есть элегантное решение. Заранее благодарим вас за то, что уделили время рассмотрению изложенных здесь вопросов.