21

我已经在端口 8080(默认)下启动并测试了 Tomcat。现在我将连接器端口更改为 80 并重新启动 Tomcat,在我的最小 Debian 6.0 安装上什么都不会显示。现在这里的诀窍在哪里?

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443" />
4

7 回答 7

31

转到 /etc/default/tomcat6 并更改#AUTHBIND=noAUTHBIND=yes

 # If you run Tomcat on port numbers that are all higher than 1023, then you
 # do not need authbind.  It is used for binding Tomcat to lower port numbers.
 # NOTE: authbind works only with IPv4.  Do not enable it when using IPv6.
 # (yes/no, default: no)
 #AUTHBIND=no
于 2012-05-04T14:26:47.313 回答
11

两个典型的原因:

  • 您很可能没有权限收听低于 1024 的端口(通常需要管理权限,例如 being root
  • 其他东西可能已经在监听 80 端口(例如 apache)
于 2012-05-04T13:42:44.617 回答
11

如果之前的评论都没有工作(就像发生在我身上一样),您可以将流量从端口引导808080.

去做吧:

http://forum.slicehost.com/index.php?p=/discussion/2497/iptables-redirect-port-80-to-port-8080/p1

简而言之,在终端中键入这三个命令:

$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 
于 2013-04-09T10:44:43.390 回答
10

您是否以 root 身份在端口 80 上启动了 Tomcat?您必须是 root 才能绑定到 Linux 中的端口 <= 1024。

于 2012-05-04T13:42:15.530 回答
2

更改绑定后,以 root 身份运行启动脚本。

sudo ./<path to tomcat bin director>/startup.sh
于 2013-10-18T12:33:11.947 回答
0

停止 apache 服务,然后运行 ​​tomcat 应该没问题,默认情况下 apache 运行在 80 端口

于 2012-05-04T13:42:29.803 回答
0

您可以使用 authbind/privbind 或功能绑定到端口 80。

于 2014-06-27T06:36:59.217 回答