tomcat 配置 ssl 证书, 实现 https 协议访问
tomcat 配置 ssl 证书, 实现 https 协议访问
目前我所用过配置 ssl 证书有两种方式,第一种通过 tomcat 进行配置,第二种通过 nginx 进行配置,证书用的是阿里云的免费证书
首先在阿里云 ssl 证书页面根据您的服务器类型选择证书下载
我这里选择的是 tomcat 类型,下载后的 zip 文件解压查看如下:
在 tomcat 目录,新建 cert 文件夹, 将证书文件和证书文件密码复制到 cert 文件夹下
找到找到安装 Tomcat 目录下 conf 目录中 server.xml 文件并打开, 找到 <Connection port="8443" 标签,tomcat 版本不一致, 注释内容可能不一致, 将这一段取消注释
修改为:
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert 目录下证书文件的文件名 + 文件后缀"
keystorePass=""cert目录下证书文件密码,打开文件复制文件中密码到此处即可"
clientAuth="false"
keystoreType="PKCS12"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
> ps: 这里将 Connector port 8443 端口改为 443 , 因为 8443 端口在访问时需要加端口号, 相当于 http 的 8080, 不可通过域名或 ip 直接访问, 而 443 相当于 80 端口 访问时默认隐藏掉了。改完后记得将重定向端口也修改一下。
如需要全局转换成 https 访问, 找到找到安装 Tomcat 目录下 conf 目录中 web.xml 文件并打开, 在结尾标记 </webapp 前添加如下配置:
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
> > 最后,启动 tomcat 就可以实现 https 访问啦 \~