这个问题是Tomcat8.5所独有的,其他答案都是针对7的,并且不会按照描述的那样工作
首先,我已经研究了tomcat文档和在线问题20个小时了。我从头开始构建我的服务器大约十次,以了解这个过程,并尝试编写一个清晰的指南,让服务器启动并运行多个spring boot web应用程序。
我现在不能让tomcat在80端口上运行,所以域名末尾没有"8080“。它可以在端口8080上正常运行。
"netstat -lnp grep 80“向我展示了以下内容:
enterProto Recv-Q Send-Q Local Address Foreign Address
State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:*
LISTEN 449/mysqld
tcp 0 0 0.0.0.0:111 0.0.0.0:*
LISTEN 1/init
tcp 0 0 0.0.0.0:22 0.0.0.0:*
LISTEN 143/sshd
tcp6 0 0 :::8001 :::*
LISTEN 139/httpd
tcp6 0 0 127.0.0.1:8005 :::*
LISTEN 281/java
tcp6 0 0 :::8009 :::*
LISTEN 281/java
tcp6 0 0 :::21 :::*
LISTEN 147/vsftpd
tcp6 0 0 :::22 :::*
LISTEN 所以没有使用端口80。systemctl状态tomcat.service =正在运行
防火墙-命令--列表-所有公共(活动)目标:默认icmp-block-inversion:无接口: venet0源:服务:dhcpv6-客户端ssh端口: 8001/tcp 80/tcp 20/tcp协议:伪装:无转发端口:源端口:icmp块:丰富规则:
公共区域上的端口开放。
我现在尝试的方法是更改tomcat/conf/server.xml文件中的端口
下面是我对其进行更改的地方:
{<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
}nmap和在线工具显示端口已关闭,但我认为这是因为没有使用该端口。只是我所读到的,所以不能确定。
此外,iptables中没有规则,因此没有其他端口阻塞。
显示的网页显示“无法访问此站点”
任何帮助都会非常感谢,因为我已经花了20个小时研究服务器设置,并且仍然对如何真正检查为什么它不工作,而为什么它在端口8080上工作感到困惑。
我正在尝试通过tomcat运行多个run应用程序。我计划将主机详细信息添加到server.xml的底部,这是我在端口8080上成功完成的,但不是在端口80上,结果与上面相同。
这是一个与前面的问题类似的问题,但答案不起作用,我都试过了。
发布于 2017-08-05 13:33:26
您必须在Linux上启用AUTHBIND,才能让tomcat使用像80这样的特权端口,因此在/etc/default/tomcat8文件中设置AUTHBIND=yes。
另一种解决方案是,使用默认端口( 80 ),使用iptables将所有请求从端口80重定向到端口8080,如下所示:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080发布于 2017-08-08 12:07:12
Centos7最小安装可能会打开SELinux,因此您必须在提升的shell中执行以下命令:
setsebool httpd_can_network_connect true -Phttps://stackoverflow.com/questions/45518562
复制相似问题