运行 apache tomcat 的 EC2 实例无法从外部访问

运行 apache tomcat 的 EC2 实例无法从外部访问

我在 aws 中有一个 64 位 amazon linux 实例。我在该机器上运行着 apache tomcat6。

sudo fuser -v -n tcp 8080
                     USER        PID ACCESS COMMAND
8080/tcp:            tomcat     2492 F.... java

如果我做

curl ec2-54-2xx-1xx-1xx.us-2.compute.amazonaws.com:8080

我确实看到了以下网页。

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>Apache Tomcat</title>
    <style type="text/css">
    /*<![CDATA[*/
      body {
          color: #000000;
          background-color: #FFFFFF;
          font-family: Arial, "Times New Roman", Times, serif;
          margin: 10px 0px;
      }

    img {
       border: none;
    }

    a:link, a:visited {
        color: blue
    }

    th {
        font-family: Verdana, "Times New Roman", Times, serif;
        font-size: 110%;
        font-weight: normal;
        font-style: italic;
        background: #D2A41C;
        text-align: left;
    }

    td {
        color: #000000;
        font-family: Arial, Helvetica, sans-serif;
    }

    td.menu {
        background: #FFDC75;
    }

    .center {
        text-align: center;
    }

    .code {
        color: #000000;
        font-family: "Courier New", Courier, monospace;
        font-size: 110%;
        margin-left: 2.5em;
    }

     #banner {
        margin-bottom: 12px;
     }

     p#congrats {
         margin-top: 0;
         font-weight: bold;
         text-align: center;
     }

     p#footer {
         text-align: right;
         font-size: 80%;
     }
     /*]]>*/
   </style>
</head>

<body>

<!-- Header -->
<table id="banner" width="100%">
    <tr>
      <td align="left" style="width:130px">
        <a href="http://tomcat.apache.org/">
          <img src="tomcat.gif" height="92" width="130" alt="The Mighty Tomcat - MEOW!"/>
        </a>
      </td>
      <td align="left" valign="top"><b>Apache Tomcat</b></td>
      <td align="right">
        <a href="http://www.apache.org/">
          <img src="asf-logo-wide.gif" height="51" width="537" alt="The Apache Software Foundation"/>
        </a>
       </td>
     </tr>
</table>

<table>
    <tr>

        <!-- Table of Contents -->
        <td valign="top">
            <table width="100%" border="1" cellspacing="0" cellpadding="3">
                <tr>
                  <th>Administration</th>
                </tr>
                <tr>
                  <td class="menu">
                    <a href="/manager/status">Status</a><br/>
                    <a href="/manager/html">Tomcat&nbsp;Manager</a><br/>
                    &nbsp;
                  </td>
                </tr>
            </table>
            <br />
            <table width="100%" border="1" cellspacing="0" cellpadding="3">
                <tr>
                  <th>Documentation</th>
                </tr>
                <tr>
                  <td class="menu">
                    <a href="RELEASE-NOTES.txt">Release&nbsp;Notes</a><br/>
                    <a href="/docs/changelog.html">Change&nbsp;Log</a><br/>
                    <a href="/docs">Tomcat&nbsp;Documentation</a><br/>
                    &nbsp;
                    </td>
                </tr>
            </table>
            <br/>
            <table width="100%" border="1" cellspacing="0" cellpadding="3">
                <tr>
                  <th>Tomcat Online</th>
                </tr>
                <tr>
                  <td class="menu">
                    <a href="http://tomcat.apache.org/">Home&nbsp;Page</a><br/>
                    <a href="http://tomcat.apache.org/faq/">FAQ</a><br/>
                    <a href="http://tomcat.apache.org/bugreport.html">Bug&nbsp;Database</a><br/>
                    <a href="http://mail-archives.apache.org/mod_mbox/tomcat-users/">Users&nbsp;Mailing&nbsp;List</a><br/>
                    <a href="http://mail-archives.apache.org/mod_mbox/tomcat-dev/">Developers&nbsp;Mailing&nbsp;List</a><br/>
                    <a href="irc://irc.freenode.net/#tomcat">IRC</a><br/>
                    &nbsp;
                  </td>
                </tr>
            </table>
            <br/>
            <table width="100%" border="1" cellspacing="0" cellpadding="3">
                <tr>
                  <th>Miscellaneous</th>
                </tr>
                <tr>
                  <td class="menu">
                    <a href="/examples/servlets/">Servlets Examples</a><br/>
                    <a href="/examples/jsp/">JSP Examples</a><br/>
                    <a href="http://wiki.apache.org/tomcat/Specifications">Specifications</a><br/>
                        &nbsp;
                  </td>
                </tr>
            </table>
        </td>

        <td style="width:20px">&nbsp;</td>

        <!-- Body -->
        <td align="left" valign="top">
          <p id="congrats">If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!</p>

          <p>As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at:</p>
          <p class="code">$CATALINA_HOME/webapps/ROOT/index.html</p>

          <p>where "$CATALINA_HOME" is the root of the Tomcat installation directory. If you're seeing this page, and you don't think you should be, then you're either a user who has arrived at new installation of Tomcat, or you're an administrator who hasn't got his/her setup quite right. Providing the latter is the case, please refer to the <a href="/docs">Tomcat Documentation</a> for more detailed setup and administration information than is found in the INSTALL file.</p>

            <p><b>NOTE: For security reasons, using the manager webapp
            is restricted to users with certain roles such as "manager-gui".</b>
            Users are defined in <code>$CATALINA_HOME/conf/tomcat-users.xml</code>.</p>

            <p>Included with this release are a host of sample Servlets and JSPs (with associated source code), extensive documentation, and an introductory guide to developing web applications.</p>

            <p>Tomcat mailing lists are available at the Tomcat project web site:</p>

           <ul>
               <li><b><a href="http://tomcat.apache.org/lists.html#tomcat-users">tomcat-users</a></b> for general questions related to configuring and using Tomcat</li>
               <li><b><a href="http://tomcat.apache.org/lists.html#tomcat-dev">tomcat-dev</a></b> for developers working on Tomcat</li>
           </ul>

            <p>Thanks for using Tomcat!</p>

            <p id="footer"><img src="tomcat-power.gif" width="77" height="80" alt="Powered by Tomcat"/><br/>
            &nbsp;

            Copyright &copy; 1999-2014 Apache Software Foundation<br/>
            All Rights Reserved
            </p>
        </td>

    </tr>
</table>

</body>
</html>

但是,如果我尝试从外部机器的 Web 浏览器访问 Web 服务器,则会收到以下错误。

Google Chrome's connection attempt to ec2-54-2xx-1xx-1xx.us-2.compute.amazonaws.com was rejected. The website may be down, or your network may not be properly configured. Currently I have configured my security groups (both inbound and outbound) to allow all traffic from any machine. 

我正在尝试从公司网络访问它。我的公司防火墙是否可能阻止了它?如果是,那是什么原因?

在安全设置中,我对入站和出站设置了以下值。

Type           Protocol         Port Range           Source
All traffic      All               All             0.0.0.0/0

我仍然无法从外部访问网络服务器。

答案1

登录 AWS 控制台并转到“安全组”部分。在此处的“入站”中添加一个名为“自定义 TCP 规则”的新规则并输入自定义端口范围 8080。

现在在浏览器中输入 {ipaddress}:8080

答案2

默认情况下,AWS 实例启动时没有任何可从互联网访问的端口。您需要更改 VPC 的安全组设置。为此,请在 EC2 列表中选择您的实例。在您选择实例的框架下,您将看到一堆有关该实例的随机数据,包括“安全组” - 单击此处可修改该实例的防火墙规则。请注意,根据您的 VPC 设置方式,更改这些规则可能会影响多个实例。

一旦您知道它的存在并进行探索,它就非常明显。

相关内容