5 минута 50-я секунда конференции с Петром Зайцевым.
12.08.2011
09.08.2011
Форвард с HTTP на HTTPS в Nexus (Jetty) и Tomcat
Чтобы все было по фэн-шую, корпоративные ресурсы нужно делать только по HTTPS, так как там везде аутентификацию и, соответственно, передаются данные, которые можно легко перехватить.
В случае, если Вы используете Apache или Nginx, то все тривиально, но если ресурс на Jetty/Tomcat, как например TeamCity или Nexus, то придется немножко помучаться.
Jetty.
Итак начнем с Jetty (рассматривается на примере Nexus):
Первое, что требуется - научить его работать одновременно и с HTTP и с HTTPS. Для этого в файл свойств jetty добавим еще один порт:
Далее в конфигурационном файле Jetty, создадим еще один коннектор.
Был только один коннектор:
А мы сделаем два одновременно (второй пообширнее, так как там сертификат описывается):
.
В случае, если Вы используете Apache или Nginx, то все тривиально, но если ресурс на Jetty/Tomcat, как например TeamCity или Nexus, то придется немножко помучаться.
Jetty.
Итак начнем с Jetty (рассматривается на примере Nexus):
Первое, что требуется - научить его работать одновременно и с HTTP и с HTTPS. Для этого в файл свойств jetty добавим еще один порт:
vim /opt/nexus/conf/plexus.properties
application-port=80
application-port-ssl=443
...
Далее в конфигурационном файле Jetty, создадим еще один коннектор.
Был только один коннектор:
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="host">${application-host}</Set>
<Set name="port">${application-port}</Set>
</New>
</Arg>
</Call>
А мы сделаем два одновременно (второй пообширнее, так как там сертификат описывается):
<Call name="addConnector">Теперь заменяем объявление существующего handler/context-collection на отдельный context-collection. А именно просто убираем обрамляющий тег
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="host">${application-host}</Set>
<Set name="port">${application-port}</Set>
</New>
</Arg>
</Call>
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.security.SslSelectChannelConnector">
<Set name="host">${application-host}</Set>
<Set name="port">${application-port-ssl}</Set>
<Set name="keystore">/etc/ssl/keystore</Set>
<Set name="keyPassword">Meik8hahTi5ooXoong3aiv1maiteed</Set>
<Set name="truststore">/etc/ssl/keystore</Set>
<Set name="password">Meik8hahTi5ooXoong3aiv1maiteed</Set>
<Set name="trustPassword">Meik8hahTi5ooXoong3aiv1maiteed</Set>
</New>
</Arg>
</Call>
Подписаться на:
Сообщения (Atom)