tomcat配置https访问(openssl制证)

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

(1)下载openssl制作私钥,执行以下命令后会在当前目录下的test目录创建server.key

<code class="language-exe"> openssl genrsa -out test/server.key 1024</code>

(2)制作给发证机关的请求证书,需要如实输入一些真实的信息,注意填写“common name(e.g.server FQDN or YOUR name)”时要填写你的域名

<code class="language-exe">openssl req -new -key test/server.key -out test/certreq.csr</code>

(3)自签名证书用于模拟可用十年。如果是购买正式证书,忽略这一步,发证机构会发来两个cer文件,一个是服务器证书,一个是根证书。

<code class="language-java">openssl x509 -req -in test/certreq.csr -out test/cert.cer -signkey test/server.key -days 3650</code>

(4)签名证书配置tomcat,把前面生成的文件cert.cer和server.key复制至tomcat的bin目录下。如果是购买正式证书,就把发证机构给你的两个证书文件放到bin目录下。

修改tomcat的配置文件server.xml ,找到

<code class="language-xml"><Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /></code>

取消注释并将它改成(注意如果想用80端口访问时一定要用443):

<code class="language-xml"><Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" SSLCertificateFile="cert.cer" SSLCertificateKeyFile="server.key" sslProtocol="TLS" /></code>

(5)如果只想用https访问,需要注释原来的8080窗口监听

<code class="language-xml"> <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" / ></code>

tomcat配置https访问(openssl制证)

相关推荐