tomcat 的 SSL 配置

来源:互联网 发布:小燕子变真格格知画 编辑:程序博客网 时间:2024/06/05 04:50

最近在做项目的过程中遇到这样一个需求:项目中的部分请求需要用到HTTPS。由于我之前没有接触过HTTPS,所以先对HTTPS进行了一番了解。后来发现,配置tomcat的SSL其实很简单,只要按照下面的步骤来进行操作就可以了。

  • 获得一个SSL证书文件
  • 找到tomcat的server.xml文件,进行如下的配置:
 <Connector SSLEnabled="true" acceptCount="100" clientAuth="false"    disableUploadTimeout="true" enableLookups="false" maxThreads="25"    port="8443" keystoreFile="/test.jks" keystorePass="test2016"    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" sslEnabledProtocols = "TLSv1,TLSv1.1,TLSv1.2"               ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />

keystoreFile:证书存放的路径。

keystorePass:如果使用了一个与Tomcat预期不同的keystore(和证书)密码,则加入该属性。

clientAuth:如果想要Tomcat为了使用这个socket而要求所有SSL客户出示一个客户证书,置该值为true。

protocol:设定http协议。

sslEnabledProtocols :socket使用的加密/解密协议。

ciphers:此socket允许使用的被逗号分隔的密码列表。缺省情况下,可以使用任何可用的密码。

  • 在项目的web.xml文件中进行如下配置:
<security-constraint>        <web-resource-collection>            <web-resource-name>securedapp</web-resource-name>            <url-pattern>/test/*</url-pattern>        </web-resource-collection>        <user-data-constraint>            <transport-guarantee>CONFIDENTIAL</transport-guarantee>        </user-data-constraint>    </security-constraint>

如果你像我一样,只需要部分请求使用HTTPS,那么,中间配置的URL为需要使用HTTPS的URL。如果URL 映射设为 /* ,那么整个应用都是需要用HTTPS进行访问的。

  • 进行测试:其实,你使用https://localhost:8443进行访问,将会看到tomcat的默认首页
0 0