Установите соединитель HTTP на 8080 и соединитель HTTPS на 8443. В декларации <Connector>
добавьте атрибут proxyPort
и установите для него порт HTTP и HTTPS по умолчанию (80 и 443 соответственно). Настройте правило перенаправления брандмауэра от 80 до 8080 и от 443 до 8443. Затем сервер будет принимать обычные URL-адреса http и https без необходимости указывать номера портов.
Ниже приведен пример объявления этих разъемов.
<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