项目中tomcat 下配置HTTPS

来源:互联网 发布:网络流行用语2017 编辑:程序博客网 时间:2024/06/03 14:35

结合项目亲自实验 tomcat 下配置HTTPS,并且在浏览器可以访问成功

思路

1, 生成pem 格式证书;
2, 修改server.xml配置文件;
3, 浏览器导入pem格式证书;

书写具体步骤之前,先解决以下问题:

Windows下如何生成pem证书
我的电脑以Win10为例:
请参考我上篇博客 >http://blog.csdn.net/qq_37022150/article/details/74011813

上面讲述到如何使用openssl生成证书,那么openSSL如何在windows下进行配置呢?

两种方式:
一是:直接点百度,但是可能不是特别全;
二是:之后将会有专门一篇博客讲述如何配置openssl在windows下;

Mac下如何生成pem格式证书
openssl genrsa -out C:\cert\localhost-key.pem 4096 -config openssl.cnf

openssl req -new -out C:\cert\localhost-req.csr -key C:\cert\localhost-key.pem -config openssl.cnf

openssl x509 -req -in C:\cert\localhost-req.csr -out C:\cert\localhost-certificate.pem -signkey C:\cert\localhost-key.pem -CA C:\cert\49_rootCertificate.pem -CAkey C:\cert\49_rootKey.pem -CAcreateserial -days 365

openssl pkcs8 -topk8 -nocrypt -in C:\cert\localhost-key.pem -out C:\cert\localhost_key_pkcs8.pem

cat C:\cert\localhost_key_pkcs8.pem C:\cert\localhost-certificate.pem > C:\cert\localhost_certificateWithKey.pem

openssl pkcs12 -export -clcerts -in C:\cert\localhost-certificate.pem -inkey C:\cert\localhost-key.pem -passout pass:123123 -out C:\cert\localhost_certificateWithKey.p12

生成的根证书
生成根证书有三个文件: key.pem 的私钥; csr的请求; certificate.pem的证书;并且执行的顺序也是如此;

生成的证书
生成证书的文件 上面显示为例;

第二步修改server.xml配置文件(结合本项目),如下图:

    `<Connector SSLEnabled="true" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol">    <SSLHostConfig caCertificateFile="根证书以pem结尾的证书" caCertificatePath="根证书以pem结尾的证书上一级的全路径" certificateVerification="optional">     <Certificate certificateFile="以pem结尾的证书" certificateKeyFile="以pem结尾的证书的私钥" type="RSA"/>    </SSLHostConfig></Connector>`

添加完成配置之后,直接保存,不需要在做任何的改动对于server.xml;
第三步:浏览器导入pem证书(结合实际经验)
导入浏览器的证书

一般导入浏览器证书的流程: 先导入根证书,在导入证书;

第四步: 浏览器直接输入url,会弹窗提示 要求选择证书确认项,即代表证书导入成功,选择相应的证书之后,单击保存,若直接跳转到指定的url即代表tomcat下https证书访问成功

细节点:
1, 可能出错的地方, tomcat server.xml里面配置https相关配置之后,在ecilpse运行之后,切记server里面的server.xml查看,是否与tomcat server.xml一致,若一致,代表可以正常访问,若不一致,可以手动修改为一致,切记,以 tomcat server.xml为准;
2, tomcat 在ecilpse运行之后,https可以正常访问,同样 http也应该可以正常访问,切记,https没有问题的情况下,也测试下http;

我当时在配置的时候,因为第一次,https可以访问,但是http访问不了,后来在我们老大的引导下,终于配置好,其实我常说的一点是 做事情要有思路,没有思路,我宁可不做,但是要主动寻找思路,分享,沟通,共勉;

原创粉丝点击