liao535864243 2024-01-17 19:15 采纳率: 100%
浏览 4
已结题

tomcat 没有监听80端口

tomcat 没有监听80端口

求帮看看

用8080或者其他端口都可以,外网访问都没问题

就是改成80端口就不行了
在服务器上curl -i localhost 或者curl -i localhost:80,都会得到Connection refused

既然本机上都不行,那就跟防火墙什么的没关系了

netstat -tlpen | grep 80,发现没有任何程序监听80端口

在网上搜索到的都是本机访问localhost没问题,外网不行

但我这个是本机都不行,改其他端口可以,改成80端口就不行

  • 写回答

3条回答 默认 最新

  • GISer Liu 2024-01-17 19:25
    关注

    该回答引用自GPT-4,由博主GIS_Liu编写:

    针对您遇到的Tomcat无法监听80端口的问题,我们可以从以下几个方面来分析和解决:

    问题分析

    1. 端口权限问题:Linux系统中,1024以下的端口需要管理员权限才能监听。如果Tomcat没有以root用户运行,那么它将无法监听80端口。
    2. 端口冲突问题:可能已经有其他服务占用了80端口。
    3. 防火墙设置:虽然您提到本机访问也有问题,但防火墙的配置仍需检查确认。
    4. Tomcat配置问题:确认Tomcat的配置文件是否正确设置了80端口。

    解决方案

    1. 修改Tomcat运行用户

    • 如果是权限问题,您可以尝试以root用户运行Tomcat,或者使用如authbind之类的工具允许非root用户绑定到低端口。
    • 注意:以root用户运行Web服务存在安全风险,建议谨慎使用。

    2. 检查端口冲突

    • 使用netstat -tuln | grep ':80 '命令检查80端口的使用情况。
    • 如果有服务占用80端口,请先停止该服务。

    3. 检查防火墙设置

    • 检查防火墙是否阻止了80端口。使用iptables -L查看防火墙规则。

    4. 检查Tomcat配置

    • 确保Tomcat的server.xml配置文件中的Connector标签设置了正确的端口:
      <Connector port="80" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443" />
      

    5. 查看日志

    • 检查Tomcat的日志文件,看是否有相关错误信息。

    其他建议

    • 考虑使用反向代理(如Nginx)监听80端口,并将请求转发到Tomcat的8080端口。这种方式不需要以root用户运行Tomcat,也可避免直接暴露Tomcat到Internet。

    结论

    根据您的描述,Tomcat无法监听80端口的问题可能是由权限限制、端口冲突、防火墙设置或配置错误引起的。建议逐一排查这些可能性。如果问题依旧存在,建议查看Tomcat的日志文件获取更多线索。

    如果该回答解决了您的问题,请采纳!如果没有,请详述问题所在!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月25日
  • 已采纳回答 1月17日
  • 修改了问题 1月17日
  • 赞助了问题酬金15元 1月17日
  • 展开全部

悬赏问题

  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验