Назад | Перейти на главную страницу

Как я могу перенаправить номер порта в Linux?

У меня есть приложение 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.

Рекомендую сделать следующее.

  1. Установить httpd:

    yum install httpd
  2. Создать файл

    /etc/httpd/conf.d/myredirect.conf
    со следующим содержанием:

    ProxyPass   http://127.0.0.1:8080/myapps/
    ProxyPassReverse       http://127.0.0.1:8080/myapps/
    
  3. Если приложение находится в корне, конфигурация будет следующей:

    ProxyPass   http://127.0.0.1:8080/
    ProxyPassReverse       http://127.0.0.1:8080/
    
  4. Начать сначала 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 для доступа к своему приложению.