У меня есть приложение Tomcat, работающее на моем компьютере с Linux на порту 8080 (www.myapplication.com:8080/myapps
).
Я хочу перенаправить порт Tomcat :8080
на порт HTTP по умолчанию :80
так что приложение может быть принято без номера порта (www.myapplication.com/myapps
).
Как я могу это сделать в Linux?
Вы могли бы использовать iptables
для перенаправления порта 80 на 8080.
Это полезно, если ваше приложение запускается непривилегированным пользователем, а не root.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
HTH, PEra
Никогда не обращайтесь к Tomcat или любому другому серверу приложений Java во внешний мир. Лучше всего установить Apache HTTPD и использовать его в качестве обратного прокси-сервера для упаковки Tomcat или JBoss.
Рекомендую сделать следующее.
Установить httpd:
yum install httpd
Создать файл
/etc/httpd/conf.d/myredirect.confсо следующим содержанием:
ProxyPass http://127.0.0.1:8080/myapps/ ProxyPassReverse http://127.0.0.1:8080/myapps/
Если приложение находится в корне, конфигурация будет следующей:
ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/
Начать сначала httpd:
service httpd restart
Приведенные выше инструкции предназначены для Linux семейства RedHat. Для других они могут отличаться.
Есть много способов добиться этого, но первое, что приходит мне в голову, - это использовать nginx
: Как навсегда перенаправить URL порта 8080 на порт 80 с помощью nginx
Другой - использовать iptables
: http://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/
сначала вы должны изменить файл server.xml, изменив "Connector port =" 8080 "" на "80". файл может находиться в / etc / tomcat6, или вы можете использовать "locate server.xml", чтобы найти его.
во-вторых, вы должны изменить файл конфигурации по умолчанию tomcat6, в моей системе (debian squeeze) это / etc / default / tomcat6, добавьте строку: AUTHBIND = yes.
перезапустите свой кот.
тогда вы можете использовать www.myapplication.com/myapps для доступа к своему приложению.