Fork me on GitHub
KeKe Blog

tomcat配置ssl证书实现https访问

由于工作需要,需要在某语音服务器上配置ssl证书。该服务器上使用的是tomcat运行着语音服的程序,由于自己也不怎么熟悉,刚开始在测试环境中进行了测试,琢磨了一个上午,查了一些资料,总结起来就是将申请下来的证书和密钥添加到配置文件。

遇上的问题:
1.配置https后,域名能访问8443端口,但是ip访问不了8080端口;
2.对于tomcat的ssl证书的理解不深入,导致配置中一直出现问题;

1 配置tomcat的ssl证书

  • tomcat安装路径及目录结构
    tomcat安装路径及目录结构

  • 配置文件路径

    1
    vim /usr/local/tomcat/conf/server.xml
  • 配置文件路径

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!--
    在tomcat配置文件中找到
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    #将注释去掉,添加tomcat的相关域名证书和密码,添加后设置如下
    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" keystoreFile="/usr/local/tomcat/conf/example.com.jks" keystorePass="example_passwd" sslProtocol="TLS" />
  • 证书存放路径
    可以自定义,在配置keystoreFile时一定需要使用绝对路径,可以减少很多不必要的错误。

2 验证配置

  • 对tomcat进行重启

    1
    2
    3
    4
    5
    6
    7
    #转到../tomcat/bin/下
    #关闭
    ./shutdown.sh
    #开启
    ./startup.#!/bin/sh
  • 绑定hosts

    1
    2
    3
    4
    5
    #Linux&Mac:/etc/hosts
    #Windows:C:\Windows\System32\drivers\etc
    58.229.*.* test.example.com
  • 访问链接验证
    注:因为证书是针对域名的,所以一般访问域名才会生效

    1
    https://test.example.com:8443/
  • 访问成功示例
    tomcat-https访问验证成功

-------------本文结束 感谢您的阅读-------------