Могу ли я безопасно запускать Tomcat на порту 443 и небезопасно на 8080
позвольте мне объяснить мою ситуацию.
В настоящее время у меня много приложений, работающих на Tomcat 6, на порту по умолчанию 8080.
Я создал несколько приложений, которые нужно войти. Я собираюсь купить SSL-сертификат для установки на этом сервере.
Мне не нравится идея использования порта 8443, потому что это делает URL более сложным. Если я запускаю Tomcat на порту 80, мне придется изменить десятки ссылок, и мне придется запускать Tomcat как root ( а не кот.)
есть ли проблемы с запуском небезопасных приложений на порту 8080, но с безопасным запуском на порту 443?
Я представляю, что моя установка будет иметь URL-адреса, которые выглядят так:
это возможно?
2 ответов
Да, все в порядке. Просто настройте соединители для использования соответствующих портов. Но для 443 я бы предположил, что root также потребуется.
настройка HTTP-коннектора на 8080 и HTTPS-коннекторе на 8443. В <Connector>
добавить объявление proxyPort
атрибут и установить его по умолчанию HTTP и HTTPS порт (80 и 443 соответственно). Настройка правила перенаправления брандмауэра от 80 до 8080 и от 443 до 8443. Затем сервер будет принимать обычные HTTP и https url без необходимости указывать номера портов.
Ниже приведен пример объявления этих соединителей.
<Connector
maxSpareThreads='75'
port='8080'
proxyPort='80'
enableLookups='false'
maxThreads='150'
connectionTimeout='20000'
disableUploadTimeout='true'
minSpareThreads='5'
maxHttpHeaderSize='8192'
redirectPort='443'
acceptCount='200'
/>
<Connector
SSLEnabled='true'
keystoreFile='/path/to/keystore.jks'
maxSpareThreads='75'
port='8443'
proxyPort='443'
algorithm='SunX509'
enableLookups='false'
secure='true'
maxThreads='150'
connectionTimeout='20000'
disableUploadTimeout='true'
scheme='https'
minSpareThreads='5'
maxHttpHeaderSize='8192'
sslProtocol='SSL'
acceptCount='200'
clientAuth='false'
/>
и вот некоторые iptables перенаправления команды:
# Redirect external packets
-A PREROUTING -j NAT-Port-Redirect
# redirect http traffic
-A NAT-Port-Redirect -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
# redirect https traffic
-A NAT-Port-Redirect -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443