如何使用SslSelectChannelConnector以编程方式在jetty服务器(8.1.8.v20121106)中配置自定义主机?

时间:2016-07-12 14:11:06

标签: java ssl https jetty keytool

我想访问一个https连接的servlet作为以下地址" https://ip-address:port/servletPath" 。为此,我使用SslSelectChannelConnector与jetty服务器(版本8.1.8.v20121106)。

  1. 我使用keytool生成了自签名证书,其中包含以下信息,

        CN=localhost, OU=<myorg>, O=<myorg>, L=Trivandrum, ST=Kerala, C=IN
    
  2. 我已经配置了jetty服务器 - SslSelectChannelConnector,如下所示,

        SslContextFactory sslFactory = new SslContextFactory();
        sslFactory.setKeyStorePath("<path of the generated key store by keytool>");
        sslFactory.setKeyStorePassword("mypassword");
        sslFactory.setKeyManagerPassword("mypassword");
    
        sslFactory.setTrustStore("<path of the signed trust store by keytool>");
        sslFactory.setTrustStorePassword("mypassword");
    
        SslSelectChannelConnector sslSelectConnector = new SslSelectChannelConnector(sslFactory);
        sslSelectConnector.setPort(5443);
    
  3. 路径的注册servlet =&gt; servletPath如下,

     ServletHolder holder = new ServletHolder(httpServlet);
    
     this.servletContextHandler.addServlet(holder, servletPath);
    
  4. 当我启动服务器时,我按照以下方式获取控制台,

    INFO [main](AbstractConnector.java:338) - 已启动SslSelectChannelConnector@0.0.0.0:5443     DEBUG [main](AbstractLifeCycle.java:172) - STARTED SslSelectChannelConnector@0.0.0.0:5443

  5. 当我尝试使用以下地址访问时, // localhost:5433 / servletPath =&gt; servlet被调用 - 成功执行。

  6. 在我的情况下,我需要访问like =&gt; //192.168.27.29:5433/servletPath。

  7. 我尝试将主机设置为&#34; sslSelectConnector.setHost(&#34; 192.168.27.29&#34;); &#34 ;.当我启动服务器时,我得到了如下控制台

    INFO [main] (AbstractConnector.java:338) - Started SslSelectChannelConnector@192.168.27.29:5443
    DEBUG [main] (AbstractLifeCycle.java:172) - STARTED SslSelectChannelConnector@192.168.27.29:5443
    
    1. 但是当我尝试使用以下地址访问时,//192.168.27.29:5433 /servletPath =&gt;执行失败,例外,
    2. Error Image Attached

      那么,如何将自定义端口与jetty服务器绑定,任何建议。

0 个答案:

没有答案