【问题标题】:what port tomcat7 use? how do I set AWS Security group?tomcat7使用什么端口?如何设置 AWS 安全组?
【发布时间】:2015-07-03 14:09:57
【问题描述】:

我在 aws 的 ubuntu 中运行了一个 tomcat7。不使用阿帕奇。 我的网站使用默认的 tomcat 端口 8080。

我不想打开除 8080 以外的端口,所以我在 aws 安全组中进行设置。 入站 8080 TCP 任何地方 和出站 allTraffic。

但我试着休息一下

http://my_aws_ip:8080/test.do

但它不起作用。

我应该打开什么端口? tomcat7 使用某个端口吗?

【问题讨论】:

  • 你用apt-get安装tomcat7了吗?是否正在运行 (sudo service tomcat7 status)?
  • 是的,当我添加它工作的所有流量安全组时运行正常。
  • 仔细检查您的安全组。如果允许来自任何地方的所有流量都适用于该 URL,那么只允许 tcp/8080 入站任何地方也应该有效。
  • 我使用 mysql 3306 端口。我添加了安全组 3306 但仍然无法正常工作

标签: security amazon-web-services tomcat7


【解决方案1】:

Tomcat 使用您配置它使用的任何端口或端口和协议。默认情况下,它侦听 tcp/8080 上的 HTTP 请求、tcp/8009 上的 AJP 请求和 tcp/8005 上的服务管理请求。

这是在 $CATALINA_HOME/conf/server.xmlConnector 元素中配置的: https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

您应该重新配置 Tomcat 以侦听标准端口,例如用于 HTTP 的 tcp/80 和用于 HTTPS 的 tcp/443。非标准端口是新手部署的现成指示。

应根据您的需要将 AWS 安全组配置为允许 HTTP、HTTPS 和 pr 两者。我强烈建议使用 HTTPS,除非传输的信息是公共领域或没有价值。

您可以使用netstat -anpt 检查 Tomcat 在您的 EC2 实例上使用的端口。它将显示所有活动和侦听端口以及绑定它们的程序(包括用于您的 Tomcat 端口的 java 或 tomcat)。

除非您确实需要对操作系统的 root 访问权限,否则您可能需要考虑使用 Amazon Elastic Beanstalk,因为它会为您管理所有这些麻烦。

【讨论】:

  • 谢谢,但我想知道为什么会这样。我在 server.xml 中注册了所有端口 8080、8009、8005,但没有成功。
  • 如果你在 Ubuntu EC2 上运行 sudo netstat -anpt | grep LISTEN,你会得到什么输出?
  • tcp 0.0.0.0:3690 LISTEN 20737/svnserve tcp 0.0.0.0:3306 LISTEN 25669/mysqld tcp6 :::8080 LISTEN 31150/java tcp6 :::49152 LISTEN 31150/java tcp6 ::: 49154 LISTEN 31150/java tcp6 :::49155 LISTEN 31150/java tcp6 127.0.0.1:8005 LISTEN 31150/java tcp6 :::8009 LISTEN 31150/java
  • 可能,但不太可能与 IPv6 相关。尝试将此添加到 CATALINA_OPTS -Djava.net.preferIPv4Stack=truecurl http://localhost:8080/test.do 在 EC2 实例上运行时是否按预期工作?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
相关资源
最近更新 更多