Java 弹性Beanstalk上的Tomcat部署:无法访问该站点
我正在尝试将Tomcat web应用程序部署到AWS EB上的环境中,当我这样做时,一切都会顺利进行,直到我尝试查看页面时,页面超时并通知无法访问该站点 当在本地主机上部署到Tomcat时,一切都很好,我使用相同的war文件在AWS上部署。两者都使用Tomcat 8.0。war文件的结构为:Java 弹性Beanstalk上的Tomcat部署:无法访问该站点,java,amazon-web-services,tomcat,web-applications,amazon-elastic-beanstalk,Java,Amazon Web Services,Tomcat,Web Applications,Amazon Elastic Beanstalk,我正在尝试将Tomcat web应用程序部署到AWS EB上的环境中,当我这样做时,一切都会顺利进行,直到我尝试查看页面时,页面超时并通知无法访问该站点 当在本地主机上部署到Tomcat时,一切都很好,我使用相同的war文件在AWS上部署。两者都使用Tomcat 8.0。war文件的结构为: -CarbonCost.war -WEB-INF -lib -classes -Controller -Controller.class -C
-CarbonCost.war
-WEB-INF
-lib
-classes
-Controller
-Controller.class
-Connect.class
-web.xml
-META-INF
-js
-img
-css
-index.jsp
-page2.jsp
AWS中的catalina.log文件:
22-Nov-2017 18:03:49.754 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
22-Nov-2017 18:03:50.045 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
22-Nov-2017 18:03:50.095 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
22-Nov-2017 18:03:50.108 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
22-Nov-2017 18:03:50.119 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
22-Nov-2017 18:03:50.124 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 11657 ms
22-Nov-2017 18:03:50.220 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
22-Nov-2017 18:03:50.220 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.45
22-Nov-2017 18:03:50.260 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /var/lib/tomcat8/webapps/ROOT
22-Nov-2017 18:03:52.321 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
22-Nov-2017 18:03:52.431 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /var/lib/tomcat8/webapps/ROOT has finished in 2,170 ms
22-Nov-2017 18:03:52.443 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
22-Nov-2017 18:03:52.490 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
22-Nov-2017 18:03:52.513 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 2388 ms
我意识到这可能不足以继续下去,但我完全不知道如何继续下去,所以任何一般性的指导都是非常棒的
谢谢我几乎是在修修补补时偶然发现了这个解决方案。我在EC2实例所属的安全组中添加了一条规则,允许从任何IP地址进行入站HTTP访问。
如果有人能确认这是正确的配置,那就太好了。对不起,我会对你的答案发表评论,但我的代表目前还不够高。您的配置看起来正确,这是一个健康的启动日志。最后一行,
服务器启动(以x毫秒为单位)
表示服务器成功启动所用的时间。如果你看到了,你就很好
作为补充说明,如果要允许从任何IP访问,最好将安全组中的入站访问限制在某些应用程序端口(即http服务器的80和443)。这将防止公共internet上的用户试图在端口22和其他漏洞上强行使用SSH连接