2012-06-30 43 views
0

我在ec2實例上配置了jetty hightide 8.1服務器。我的jetty.xml文件如下碼頭沒有從外部接收http請求ec2

<Configure id="Server" class="org.eclipse.jetty.server.Server"> 

    <!-- =========================================================== --> 
    <!-- Server Thread Pool           --> 
    <!-- =========================================================== --> 
    <Set name="ThreadPool"> 
     <!-- Default queued blocking threadpool --> 
     <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> 
     <Set name="minThreads">10</Set> 
     <Set name="maxThreads">200</Set> 
     <Set name="detailedDump">false</Set> 
     </New> 
    </Set> 

    <!-- =========================================================== --> 
    <!-- Set connectors            --> 
    <!-- =========================================================== --> 

    <Call name="addConnector"> 
     <Arg> 
      <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
      <Set name="host"><Property name="jetty.host" default="0.0.0.0"/></Set> 
      <Set name="port"><Property name="jetty.port" default="80"/></Set> 
      <Set name="maxIdleTime">300000</Set> 
      <Set name="Acceptors">2</Set> 
      <Set name="statsOn">false</Set> 
      <Set name="confidentialPort">8443</Set> 
      <Set name="lowResourcesConnections">20000</Set> 
      <Set name="lowResourcesMaxIdleTime">5000</Set> 
      </New> 
     </Arg> 
    </Call> 

    <!-- =========================================================== --> 
    <!-- Set handler Collection Structure       --> 
    <!-- =========================================================== --> 
    <Set name="handler"> 
     <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> 
     <Set name="handlers"> 
     <Array type="org.eclipse.jetty.server.Handler"> 
      <Item> 
      <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> 
      </Item> 
      <Item> 
      <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> 
      </Item> 
        <Item> 
         <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/> 
        </Item> 
     </Array> 
     </Set> 
     </New> 
    </Set> 

     <Call name="addBean"> 
     <Arg> 
     <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> 
      <Set name="contexts"> 
      <Ref id="Contexts" /> 
      </Set> 
      <Call name="setContextAttribute"> 
      <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> 
      <Arg>.*/servlet-api-[^/]*\.jar$</Arg> 
      </Call> 


      <!-- Add a customize step to the deployment lifecycle --> 
      <!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class 
      <Call name="insertLifeCycleNode"> 
      <Arg>deployed</Arg> 
      <Arg>starting</Arg> 
      <Arg>customise</Arg> 
      </Call> 
      <Call name="addLifeCycleBinding"> 
      <Arg> 
       <New class="org.eclipse.jetty.deploy.bindings.DebugBinding"> 
       <Arg>customise</Arg> 
       </New> 
      </Arg> 
      </Call> 
      --> 

     </New> 
     </Arg> 
    </Call> 

     <Ref id="DeploymentManager"> 
      <Call name="addAppProvider"> 
       <Arg> 
        <New class="org.eclipse.jetty.deploy.providers.ContextProvider"> 
         <Set name="monitoredDirName"><Property name="jetty.home" default="." />/contexts</Set> 
         <Set name="scanInterval">1</Set> 
        </New> 
       </Arg> 
      </Call> 
     </Ref> 

     <Ref id="RequestLog"> 
      <Set name="requestLog"> 
       <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog"> 
        <Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.tutorial.log</Arg> 
        <Set name="retainDays">90</Set> 
        <Set name="append">true</Set> 
        <Set name="extended">false</Set> 
        <Set name="LogTimeZone">GMT</Set> 
       </New> 
      </Set> 
     </Ref> 
    <!-- =========================================================== --> 
    <!-- extra options            --> 
    <!-- =========================================================== --> 
    <Set name="stopAtShutdown">true</Set> 
    <Set name="sendServerVersion">true</Set> 
    <Set name="sendDateHeader">true</Set> 
    <Set name="gracefulShutdown">1000</Set> 
    <Set name="dumpAfterStart">false</Set> 
    <Set name="dumpBeforeStop">false</Set> 

</Configure> 

而且在/上下文文件夾我做了一個文件mydomain.xml如下

<Configure class="org.eclipse.jetty.webapp.WebAppContext"> 


    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
    <!-- Required minimal context configuration :      --> 
    <!-- + contextPath             --> 
    <!-- + war OR resourceBase           --> 
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
    <Set name="contextPath">/</Set> 
    <Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/webapps/sampleapp/</Set> 

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
    <!-- Optional context configuration         --> 
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
    <Set name="extractWAR">true</Set> 
    <Set name="copyWebDir">false</Set> 

    <!-- virtual hosts --> 
    <Set name="virtualHosts"> 
    <Array type="String"> 
     <Item>www.mydomain.com</Item> 
     <Item>localhost</Item> 
     <Item>127.0.0.1</Item> 
    </Array> 
    </Set> 
    <!-- Virtual Hosts--> 

    <!-- disable cookies 
    <Get name="sessionHandler"> 
    <Get name="sessionManager"> 
     <Set name="usingCookies" type="boolean">false</Set> 
    </Get> 
    </Get> 
    --> 

    <!-- Non standard error page mapping --> 
    <!-- 
    <Get name="errorHandler"> 
    <Call name="addErrorPage"> 
     <Arg type="int">500</Arg> 
     <Arg type="int">599</Arg> 
     <Arg type="String">/dump/errorCodeRangeMapping</Arg> 
    </Call> 
    </Get> 
    --> 

    <!-- Add context specific logger 
    <Set name="handler"> 
    <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"> 
     <Set name="requestLog"> 
     <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog"> 
      <Set name="filename"><Property name="jetty.logs" default="./logs"/>/test-yyyy_mm_dd.request.log</Set> 
      <Set name="filenameDateFormat">yyyy_MM_dd</Set> 
      <Set name="append">true</Set> 
      <Set name="LogTimeZone">GMT</Set> 
     </New> 
     </Set> 
    </New> 
    </Set> 
    --> 

</Configure> 

當我從EC2實例我做的wget m得到正確的index.html頁面。但是,如果我從外部執行此操作,或者從瀏覽器中打開www.mydomain.com,我會收到請求超時。我已經設置碼頭聽HTTP端口80,但沒有來自外部的請求來到碼頭。我使用aws控制檯中提供的公共dns在我的域名註冊商中創建了CNAME記錄。 IP和DNS已正確解析,但碼頭沒有收到任何請求。我無法理解我的配置中的問題

回答

0

對不起,所有的配置都是正確的。實際上TCP端口80沒有從aws控制檯打開。我只是浪費了2個小時才意識到這一點。