Apache httpd与Tomcat 7:端口80与端口8080

orb*_*kov 4 linux apache port amazon-ec2 tomcat7

我最近在亚马逊ec2上安装了Tomcat 7.我发现Tomcat默认侦听端口8080.

互联网上的文档提倡这是因为linux更好地将较低端口保存给超级用户.(ec2 btw上的解决方案是创建一个负载均衡器 - 将通信从端口80引导到目标机器上的端口8080)

比 - 令我惊讶的是 - 我继续在另一台机器上安装了Apache服务器(yum install httpd),并且惊喜! - Apache默认侦听端口80!

我觉得这很尴尬......现在'端口8080'在哪里提倡?

任何人都可以解释概念上的差异吗?

谢谢

小智 6

差异主要是历史性的,但仍然由Linux和我能想到的大多数Unix实现强制执行.Unix/Linux将任何端口号<1024视为"特权",并要求root权限绑定到它们.任何用户都应该能够绑定到高于1024的端口.如果您的软件包具有特定的年份,则它希望以root用户身份启动,绑定到端口,然后可选地将有效UID更改为非特权用户.Apache HTTPD属于这一类.稍后创建的软件包(即Apache Tomcat)通常会使用非特权用户执行所有操作并默认绑定到更高端口号.

我确信,有些防火墙管理员可以详细了解端口<1024在某些情况下有时会如何在防火墙配置中获得特殊处理.