1. 准备

  1. 阿里云服务器
    在这里插入图片描述
  2. SSL数字安全证书
    下载后有一个密钥文件(.pfx),密码文件(.txt)
    在这里插入图片描述
  3. tomcat8.5
    tomcat下载地址
    先将tomcat安装部署并配置好,进行简单的运行测试。
    参考过去文章:CentOS7-Tomcat8安装配置
  4. 需要与ssl绑定的域名地址
  5. 项目工程

2. 部署tomcat配置ssl

  1. 端口开放
    ● 在阿里云服务器中的实例安全组中开放443端口
    在这里插入图片描述
    ● 在服务器配置防火墙允许443通过
// 运行443通过
sudo ufw allow 443
// 查看放开的端口
sudo ufw status

在这里插入图片描述

  1. 在tomcat中创建一个cert文件夹放置ssl文件
    在这里插入图片描述
  2. 在tomcat的conf目录sever.xml中进行SSL绑定配置
    在这里插入图片描述
  • 配置默认端口跳转
<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="443"/>
  • 配置ssl
<Connector 
    port="443"   
    protocol="org.apache.coyote.http11.Http11NioProtocol"   
        maxThreads="150"
        scheme="https"
        SSLEnabled="true"
    secure="true">
   <SSLHostConfig>
    <Certificate 
       # ssl文件地址
       certificateKeystoreFile="/usr/tomcat/apache-tomcat-8.5.72/conf/cert/123456789.pfx"   
       # ssl 密码
       certificateKeystorePassword="123456"   
       certificateKeystoreType="PKCS12" />
   </SSLHostConfig>
</Connector>
  • 域名与项目工程绑定:通过域名访问时将自动指向需要发布的项目中的页面
<Engine name="Catalina" defaultHost="www.123456.com">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="www.123456.com"  appBase="/usr/tomcat/apache-tomcat-8.5.72/webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        <Context path="" docBase="/usr/tomcat/apache-tomcat-8.5.72/webapps/h5" reloadable="false" privileged="false"/>
      </Host>
 </Engine>
  • 配置完成后,保存配置,进入tomcat的bin目录中重新启动tomcat
 ./shutdown.sh // 关闭服务
 ./startup.sh	 // 开启服务

3. 测试结果

输入地址: https://www.123456.com
在这里插入图片描述
测试成功!

4.遇见的问题

  1. 443端口占用
    在这个问题上非常困扰,在配置ssl的过程中不小心配置了多处443端口并且开启,导致https访问无法成功。
    apache2中添加了443
    在这里插入图片描述
    此处禁用时后续加上的,apache2中的443一直没有弄清楚是什么时候加上去的。禁用重启后就可以使用了。
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐