我尝试使用 server.xml
文件更改Tomcat的默认端口,将 8080
更改为 80
。但当我试图访问我的应用程序时,它无法使用。我做错了什么?Amazon EC2 是否存在一些安全问题?
我尝试使用 server.xml
文件更改Tomcat的默认端口,将 8080
更改为 80
。但当我试图访问我的应用程序时,它无法使用。我做错了什么?Amazon EC2 是否存在一些安全问题?
有几种方法可以使Tomcat在80端口上监听,但并非所有Linux版本都可用。
有关详细信息和指针,请参阅我在Tomcat on EC2系列文章中的在80端口上运行Tomcat一节。
使用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
)。
如果您想在AWS上为tomcat 7.0.33启用此功能,建议按照上述方法修改server.xml。
然后更新/etc/tomcat/tomcat.conf。
sudo vi /etc/tomcat/tomcat.conf
更改
TOMCAT_USER="tomcat" 为 "root"
使用以下命令重启服务器
sudo service tomcat restart
你是否以root身份运行Tomcat?只有root用户才能打开80端口。请检查您是否可以本地访问该端口-例如,尝试wget http://localhost/
。当然,还要检查您的安全组是否允许访问80端口,但如果8080端口可用,我认为它会允许访问。
您可以使用负载均衡器或在Linux内置防火墙上设置端口转发。
请参阅此博客。
http://charlie.cu.cc/2012/04/how-run-tomcat-port-80-amazon-web-service-aws/
我曾经遇到过同样的问题。如果你配置了server.xml并在EC2中打开了80端口,你需要做的第一步是关闭服务器。然后以root身份登录(sudo su -),再次启动服务器,这样应该就可以解决问题了。