Tomcat中怎么配置SSL,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海北州企业提供专业的网站设计制作、成都做网站,海北州网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
生成Server端安全证书 首先要在本地准备一份符合X.509标准的Server端安全证书。如果有条件的话,可以向权威CA申请一份经过认证的安全证书(需要繁琐的手续和金钱)。如果没有条件的话,可以使用JDK提供的证书生成工具,在Windows命令行中操作如下:
C:\> keytool -genkey -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "cn=127.0.0.1,ou=product,o=uestc,c=CN" -validity 3650 -storepass uestc@#123zp -keystore c:\key.store 输入的主密码 (如果和 storepass 密码相同,按回车):(按回车) 这样就在C:\目录下生成了Server端的安全证书(key.store)。
备注:
使用低版本的JDK(如JDK 1.4)带的keytool工具生成证书时,由于不支持SHA256withRSA算法,会报如下错误“java.security.NoSuchAlgorithmException: SHA256WITHRSA Signature not available”;必须使用较高版本的JDK(如JDK 1.6)带的keytool来生成证书。
Linux下创建证书时,只需要更改上面命令的路径信息,其余不变。
注意:
生成安全证书的工具keytool的参数validity表示证书的有效期,单位为天,需要根据实际需要配置。
作为Server端安全证书,CN字段必须与WEB应用的实际域名保持一致,否则会使客户端报证书名称不一致。
由于某些web容器的原因,keypass和storepass必须保持一致。
对于非专业证书机构颁发的证书,如果要去掉“不受信任的证书”的告警,需要在客户端的浏览器中导入根证书,步骤如下:
1)访问https地址,查看证书:
2)点击复制到文件,即可保存cert文件
3)打开IE工具栏,选择工具—Internet选项—内容—证书
4)进入受信任的根证书颁发机构,点击“导入”,将上一步导出的cert文件导入受信任的根证书机构
5)重启IE,重新访问https地址,如下,不会提示证书不受信任
添加Server端安全证书
打开Tomcat安装目录下的/conf/server.xml文件。
修改http重定向到https的端口:
port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> 注意:不同的tomcat版本,其配置项可能有一定差别,请在原配置文件上修改蓝色部分即可。 修改https参数 maxThreads="150" scheme="https" secure="true" sslEnabledProtocols="TLSv1.1,TLSv1.2"[z1] ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA"[z2] keystoreFile="c:/key.store" keystorePass="uestc@#123zp" clientAuth="false" /> [z3] [z1]需要在配置中添加,仅允许此2种 [z2]需要在配置中添加 [z3]不能明文存储 注意: 1)keystoreFile参数的文件名请使用绝对路径,keystorePass参数上的口令即storepass口令。 2)上述配置,不同的tomcat版本,其配置项可能有一定差别,如果启动后,日志存在异常信息,那么,请在原配置文件上添加以上SSL相关配置项。 如果SSL不能正常启动,可以指定使用Java Secure Socket Extension (JSSE),即将protocol="HTTP/1"修改为protocol="org.apache.coyote.http1Http11Protocol" 配置需要强制使用SSL的目录或文件 例如对于/SSL目录下的所有文件和/test/login.jsp需要强制使用SSL,则编辑Tomcat对应web应用目录下的WEB-INF/web.xml,在 注意: Web应用中,从https切换到http过程中会丢失session,无法保持会话的连续。解决的办法就是用http-https-http过程代替https-http过程,保证会话的连续性。 重新启动Tomcat 测试建议 在浏览器里输入:https://xx.xx.xx.xx: 443,应能通过SSL正常访问。 对于https切换到http页面需要重点进行测试,检查切换后会话是否中断。 在手机终端上进行测试,看能否正常使用。(如果有手机终端用户的话)。 使用SSL后,对性能会有影响,可进行性能测试。(可选) 看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
新闻标题:Tomcat中怎么配置SSL
转载源于:http://cdweb.net/article/jojghs.html