代码之家  ›  专栏  ›  技术社区  ›  sofs1 Romain Manni-Bucau

为什么<我的网站>:8080工作时<我的网站>对运行在Ec2上的tomcat服务器不起作用?

  •  1
  • sofs1 Romain Manni-Bucau  · 技术社区  · 6 年前

    我的webapp在Tomcat上运行,Tomcat在EC2实例上运行。 我已正确设置实例的入站规则。

    <myWebsite.com>:8080 它在我的浏览器中工作。 <myWebsite.com>

    This site can’t be reached <myWebsite.com> refused to connect.
    Search Google for <my Website> home
    ERR_CONNECTION_REFUSED
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Thomas Kainrad    6 年前

    当您尝试通过 myWebsite.com ,您的浏览器将在端口80上默认为http。显然,您的Web服务器正在监听端口8080。

    您需要将Tomcat配置为侦听端口80上的传入请求。

    关于如何将tomcat端口从8080更改为80,这里有许多关于stackoverflow的教程和问题。

    E、 g从 How to change the port of Tomcat from 8080 to 80?

    1) 转到 conf tomcat安装目录中的文件夹

    e.g. C:\Tomcat 6.0\conf\
    

    server.xml 文件

    3) 更改 port=8080 port=80

    4) 保存文件。

    5) 停止Tomcat并重新启动它。

    请记住,默认情况下,Tomcat不会在端口80上启动,除非以root身份运行。但是,以root身份运行通常被认为是不好的做法。 https://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80

    最简单的解决方案是通过iptables重定向tomcat端口(例如8080):

    sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    sudo /sbin/service iptables save
    
        2
  •  0
  •   sofs1 Romain Manni-Bucau    6 年前

    好的,在StackOverflow中跟踪了几个答案之后,跟踪成功了

    sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    sudo /sbin/iptables-save
    

    跟踪无效

    1. 为VPC分配弹性Ip并使用它连接到
    2. 更改tomcat服务器.xml端口从8080到80。

    注意:我的Ec2实例的安全组的入站规则正在接受 HTTP 在港口 80 从任何地方。