tomcat配置https访问(jdk自制证书)


本文的测试环境是apache-tomcat-7.0.57

安装了jdk后可利用keytool制作证书

1.生成keystore文件 ,证书的名称叫为test001,执行命令后要求输入证书的密码,我们设置为123456;完毕后会在当前目录下,会产生一个.keystore文件,将它拷贝到tomcat的bin目录下。

keytool -genkey -alias test001 -keyalg RSA -keystore


(生成证书的时候,“您的名字与姓氏是什么”  一定要注意输入你的ip、域名,总之,你希望以后通过https://xx来访问你的网站的话,此处就要填写xx。否则,会有证书不受信的提示。)

2.导出证书文件,先从控制台进入tomcat的bin目录。执行以下命令后会让你输入证书的密码,以下命令test001为证书名称

keytool -selfcert -alias test001 -keystore .keystore


3.生成证书文件,以下命令test001为之前执行命令时输入的证书名称,123456为密码,tomcat.cer为导出证书的文件名(该步骤是生成让客户安装的证书,不安装也可以,但会在访问时出现不信息提示)

keytool -export -alias test001 -keystore .keystore -storepass 123456 -rfc -file tomcat.cer


4.修改tomcat的配置文件server.xml ,找到
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />

取消注释并将它改成(注意如果想用80端口访问时一定要用443):
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
 maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="123456" 
clientAuth="false" sslProtocol="TLS" />


5.如果只想用https访问,需要注释原来的8080窗口监听
Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" / >


6.若tomcat报 Connector attribute SSLCertificateFile must be defined when using SSL with APR。则去server.xml配置文件中注释以下配置

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

猜你喜欢

转载自lqllinda01.iteye.com/blog/2373765