您的位置:首页 > 运维架构 > Tomcat

tomcat 的 SSL 配置

2016-03-28 23:13 573 查看
最近在做项目的过程中遇到这样一个需求:项目中的部分请求需要用到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的默认首页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: