用tomcat搭建https

HTTPS,安全的http链接,而且苹果也宣布,在未来他们将不在支持http,全部的连接均走https。这里借助jdk的工具和tomcat服务器,搭建一个HTTPS的服务器html


一、进入java jdk的bin目录,运行keytool工具java


 keytool有以下参数算法

wKioL1ZFfDOAivXHAAA79hq4Oak092.png

能够运行如下命令apache

keytool -genkey -alias tomcat -keyalg RSA -keystore D:tmp\tomcat浏览器

【解释:生成的文件名为 tomcat,https利用的非对称加密算法为RSA,把文件生成在D:tmp/目录下】tomcat

逐步按照提示填写相关信息安全

wKioL1ZFfFnj1NdZAAA-EZ0l5Sc310.png

而后在个人D盘中生成了一个文件 tomcat服务器


至此,证书已经生成完毕,接下来配置tomcat,使之支持https,本次测试中用的tomcat版本为tomcat7app


二、配置tomcat工具

路径:apache-tomcat-7.0.54\conf\server.xml文件


修改Connector 8443的相关配置

原始文件为

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />


修改成:

  <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" enableLookups="false"
           acceptCount="100" disableUploadTimeout="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="D:/tmp/tomcat"
           keystorePass="123456" />


--------------------------

kystoreFile是指生成的证书路径

keystorePass,证书的密码,在上述生成的时候我设置的是123456


配置完成之后启动tomcat  startup.bat

启动的后,发现有错误,错误信息以下:

Connector attribute SSLCertificateFile must be defined when using SSL with APR

wKiom1ZFfFaDK_mrAACiHKe0WAE416.png


能够看到,这种错误缘由是因为Apache的APR所致使,APR是个一个什么东西呢,百度百科一下


APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称同样,主要为上层应用程序提供一个能够跨越操做系统平台使用的底层支持接口库。


这种错误能够从新修改配置文件,修改server.xml

把如下代码给注释掉

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

或者下载相应的APR库文件,它须要如下组件支撑

  •  APR library

  • JNI wrappers for APR used by Tomcat (libtcnative)

  • OpenSSL libraries 

(这种方式我没有去实践,而是简单粗暴的采用了第一种方式)


再从新启动,正常启动。


三、访问


在浏览器中输入https://127.0.0.1:8443/

能够看到浏览器报警说证书不受信任,点击我新人该程序,而且加入到信任列表中。而后便可看到tomcat的管理目录

至此,tomcat搭建https环境完毕

相关文章
相关标签/搜索