首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在端口80 / remove 8080上运行tomcat 8.5。tomcat 8.5.16,centos 7最小安装,托管24

如何在端口80 / remove 8080上运行tomcat 8.5。tomcat 8.5.16,centos 7最小安装,托管24
EN

Stack Overflow用户
提问于 2017-08-05 13:27:17
回答 2查看 9.2K关注 0票数 2

这个问题是Tomcat8.5所独有的,其他答案都是针对7的,并且不会按照描述的那样工作

首先,我已经研究了tomcat文档和在线问题20个小时了。我从头开始构建我的服务器大约十次,以了解这个过程,并尝试编写一个清晰的指南,让服务器启动并运行多个spring boot web应用程序。

我现在不能让tomcat在80端口上运行,所以域名末尾没有"8080“。它可以在端口8080上正常运行。

"netstat -lnp grep 80“向我展示了以下内容:

代码语言:javascript
复制
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文件中的端口

下面是我对其进行更改的地方:

代码语言:javascript
复制
{<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
}

nmap和在线工具显示端口已关闭,但我认为这是因为没有使用该端口。只是我所读到的,所以不能确定。

此外,iptables中没有规则,因此没有其他端口阻塞。

显示的网页显示“无法访问此站点”

任何帮助都会非常感谢,因为我已经花了20个小时研究服务器设置,并且仍然对如何真正检查为什么它不工作,而为什么它在端口8080上工作感到困惑。

我正在尝试通过tomcat运行多个run应用程序。我计划将主机详细信息添加到server.xml的底部,这是我在端口8080上成功完成的,但不是在端口80上,结果与上面相同。

这是一个与前面的问题类似的问题,但答案不起作用,我都试过了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-05 13:33:26

您必须在Linux上启用AUTHBIND,才能让tomcat使用像80这样的特权端口,因此在/etc/default/tomcat8文件中设置AUTHBIND=yes

另一种解决方案是,使用默认端口( 80 ),使用iptables将所有请求从端口80重定向到端口8080,如下所示:

代码语言:javascript
复制
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
票数 7
EN

Stack Overflow用户

发布于 2017-08-08 12:07:12

Centos7最小安装可能会打开SELinux,因此您必须在提升的shell中执行以下命令:

代码语言:javascript
复制
setsebool httpd_can_network_connect true -P
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45518562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档