当前位置: 首页 > 知识库问答 >
问题:

Tomcat 8配置多个SSL连接器

濮阳宁
2023-03-14
<Service name="service-1">

    <Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443"  maxThreads="300" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="service-1" defaultHost="localhost" >

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>

    <Host name="localhost"  appBase="service-1"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">


    </Host>
  </Engine>
</Service>

<Service name="service-2">

  <Connector port="8181" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" maxThreads="300" />
           
  <Connector port="8099" protocol="AJP/1.3" redirectPort="8443" />

  <Engine name="service-2" defaultHost="localhost">

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>

    <Host name="localhost"  appBase="service-2"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">


    </Host>
  </Engine>
</Service>

这两个服务工作于:{public-ip}:8080/service-1和{public-ip}:8181/service-2。现在,我想在这个服务器上安装一个SSL证书来保护到两个endpoint的连接,我怎么做?我找到的所有相关答案都使用端口8443上的单个连接器:

<Connector connectionTimeout="20000"
    acceptCount="100" scheme="https" secure="true"
    port="443" clientAuth="false" sslProtocol="TLS"  
    keystoreFile="PATH_TO_KEY_STORE"  
    keystorePass="KEY_STORE_PASS"  
    keyAlias="KEY_STORE_ALIAS"/> 

但我需要使用多个连接器。

共有1个答案

曾枫
2023-03-14

我只是为这两个服务更改了连接器,如下所示:

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="100"
           minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" disableUploadTimeout="true"
           acceptCount="100" scheme="https" secure="true"
           SSLEnabled="true" clientAuth="false"
           sslProtocol="TLS" keyAlias="server"
           keystoreFile="cert.jks"
           keystorePass="password" />

<Connector port="8181" maxHttpHeaderSize="8192" maxThreads="100"
           minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" disableUploadTimeout="true"
           acceptCount="100" scheme="https" secure="true"
           SSLEnabled="true" clientAuth="false"
           sslProtocol="TLS" keyAlias="server"
           keystoreFile="cert.jks"
           keystorePass="password" />

现在我的endpoint工作在HTTPS上。

 类似资料:
  • 我们使用UnboundID(不幸的是应该很快升级的旧版本)。 我想为SSL连接上的LDAP配置多个TLS协议:TLSv1、TLSv1.1、TLSv1.2。 如何配置多个TLS协议?

  • 问题内容: 我正在尝试连接到Java中的HTTPS端点。我尝试过的每种方法(下面有更多详细信息)最终都会生成此堆栈跟踪: 我努力了: 与javax SOAP库和新的URL(“ https:// …”)连接 使用新的URL(“ https:// …”).openConnection()连接 手动创建SSL连接: 更多细节: 我尝试过的每一种方法都可以与其他SSL服务器配合使用,这就是这种特殊的服务器

  • 我以前从来没有设置过SSL/TLS,它不起作用,我也不知道如何调试它。最初的谷歌搜索没有找到选项。以下是我所做的: > 使用openSSL生成私钥和CSR openssl req-out csr.csr-new-newkey rsa:2048-nodes-keyout privatekey.key 我的csr签名并从startssl.com下载证书(第一年免费) 将root、intermediat

  • 我设置了一个密钥库,并从openssl.com.获得了SSL证书。我遵循的确切步骤如下:https://drive.google.com/file/d/0B6PUGo7cBLcDTzdkc0pzT2pTMk0/view?usp=sharing 不幸的是,即使在严格按照tomcat的说明并与客户支持人员合作后,我的https连接也超时了。 tomcat似乎已启动并运行,正在监听端口443,但我不知道

  • 我使用Apache Camel 2.17.1,在Jetty组件(http://Camel.Apache.org/Jetty.html)上设置SSL客户端身份验证时遇到了一些问题。使用服务器SSL的第一部分运行平稳(设置服务器密钥存储并从浏览器访问HTTPSendpoint)。现在,我试图通过添加另一个路由(具有不同的http端口)来丰富应用程序,其中需要客户端证书。 从文档中,这可以通过以下方法实

  • 我从Java应用程序通过SSL连接到MySQL。我已经将MYSQL配置为支持SSL并生成客户端证书。我已将服务器CA证书和客户端证书导入密钥库。这就是我的代码目前的样子 我想使用带有C3p0的spring通过SSL连接到MYSQL。这是我的spring配置文件,它从jdbc读取参数。财产。 如何配置spring来设置属性verifyServerCertificate=true useSSL=tru