【问题标题】:How can I change the default port (8080) on Amazon EC to port 80如何将 Amazon EC 上的默认端口 (8080) 更改为端口 80
【发布时间】:2011-07-07 09:44:47
【问题描述】:

我尝试使用server.xml 文件更改我的Tomcat 上的默认端口,将8080 更改为80。但是当我尝试访问我的应用程序时,它不可用。我究竟做错了什么? Amazon EC2 是否存在一些安全问题?

【问题讨论】:

    标签: amazon-ec2


    【解决方案1】:

    有几种方法可以让 Tomcat 在端口 80 上侦听,但并非所有方法都适用于所有版本的 Linux。

    有关详细信息和指针,请参阅我在 EC2 上的 Tomcat 系列文章中的 Running Tomcat on port 80 部分。

    【讨论】:

      【解决方案2】:

      通过sudo su -命令切换到root用户。在/usr/share/tomcat7/conf/tomcat7.conf 中将TOMCAT_USER="tomcat" 更改为TOMCAT_USER="root"。在/usr/share/tomcat7/conf/server.xml 中将8080 更改为80(如果您是完美主义者,也可以将8443 更改为443)。

      【讨论】:

        【解决方案3】:

        您是否以 root 身份运行 Tomcat?只有 root 可以打开端口 80。检查您是否可以在本地访问该端口 - 例如。试试wget @987654321@。显然还要检查您的安全组是否允许访问端口 80,但如果 8080 可用,我希望它会这样做。

        【讨论】:

        • 当我尝试 wget localhost 时:我已经连接到 localhost|127.0.0.1|:80... 失败:连接被拒绝。
        • 所以问题出在盒子本身上。检查您的防火墙设置(iptables -L)以及 Tomcat 是否正在侦听端口 80(netstat -ntpl)
        • 当我运行 iptables -L 我有:致命:无法加载 /lib/modules/2.6.21.7-2.ec2.v1.2.fc8xen/modules.dep:没有这样的文件或目录 iptables v1.4.5: can't initialize iptables table `filter': Permission denied (you must be root) 也许 iptables 或你的内核需要升级。
        • 对不起,事实上我有这个错误信息:致命:无法加载/lib/modules/2.6.21.7-2.ec2.v1.2.fc8xen/modules.dep:没有这样的文件或目录 iptables v1.4.5:无法初始化 iptables 表“过滤器”:iptables 谁? (你需要 insmod 吗?)也许 iptables 或你的内核需要升级。
        • netstat 是否在监听模式下显示端口 80?第一个错误显示您以非 root 用户运行。您是否以 root 身份启动 Tomcat?对于 iptables 错误,我将无济于事。也许你可以谷歌一下。这是一些具有相同错误的线程:linuxquestions.org/questions/linux-networking-3/…
        【解决方案4】:

        为了在 AWS 上为 tomcat 7.0.33 启用此功能,我按照上面的建议修改了 server.xml。

        然后更新 /etc/tomcat/tomcat.conf。 须藤 vi /etc/tomcat/tomcat.conf
        改变 TOMCAT_USER="tomcat" 到 "root"
        反弹服务器 sudo service tomcat restart

        【讨论】:

          【解决方案5】:

          您可以使用负载均衡器或在 linux 内置 firwall 上设置端口转发

          看这个博客

          http://charlie.cu.cc/2012/04/how-run-tomcat-port-80-amazon-web-service-aws/

          【讨论】:

            【解决方案6】:

            我有同样的问题。如果您配置 server.xml 并在 ec2 中打开端口 80,您必须首先关闭服务器。成为 root (sudo su -) 然后再次启动服务器,它应该适合你。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-08-21
              • 2013-10-19
              • 2011-06-12
              • 2014-06-26
              • 2015-03-11
              相关资源
              最近更新 更多