tomcat 配置 https 测试环境

有时需要在 https 环境下调试一些 bug,所以要在本地搭建一个 https 环境。

1、生成自签名证书

执行以下命令:

keytool -validity 3650 -genkeypair -v -alias localhost -keyalg RSA -storetype PKCS12 -keystore localhost.p12 -dname "CN=localhost,OU=plough,O=plough,L=NanJing,ST=JiangSu,c=CN" -storepass 123456 -keypass 123456 -ext san=dns:localhost,ip:127.0.0.1

这里我用的密码是 123456,生成一个名为 “localhost.p12” 的证书文件。

顺便生成一个 .cer 文件备用:

keytool -keystore localhost.p12 -export -alias localhost -file server.cer

2、使用证书

编辑 tomcat 配置文件,server.xml。加入如下配置:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
          SSLEnabled="true" maxThreads="150" scheme="https"
          chemeecure="true" clientAuth="false" sslProtocol="TLS"
          keystoreFile="/Users/plough/work/apache-tomcat-8.0.46/certtest/localhost.p12" keystorePass="123456"/>

其中,keystoreFile  是刚才生成证书的路径;keystorePass 是密码。

3、访问

启动 tomcat,浏览器访问 https://localhost:8443,会提示此链接不安全⚠️(为什么"自签名SSL证书"不安全)。

4、客户端安装证书

在客户端电脑上,双击第一步生成的 server.cer,导入证书。

如果是 Mac 用户,需要找到证书,并手动添加信任,如图:

安装之后,再次刷新浏览器,可以看到,安全提示已经消失了: