JavaWeb项目部署到Linux服务器并绑定域名配置ssl证书

前言

学习了SSM框架之后,对war包部署十分不熟悉,从前都是用宝塔进行傻瓜式部署的,这次发现怎么部署都不对,摸索了一番终于弄好了,记录一下。

准备war包

使用ssm框架并用maven管理项目的话,只需要执行package命令即可。在target里可以看到打包好的war包

准备Tomcat

下载安装

https://tomcat.apache.org/download-90.cgi

进入官网下载界面,下载core里的tar.gz即可

上传到服务器后进行解压,假设{{tomcat}}为我们tomcat的目录

放开端口

需要查看宝塔、服务器商

安全组中放开8080端口

启动tomcat

打开{{tomcat}}/bin

运行startup.sh

如果不成功,提示

Cannot find /developer/apache-tomcat-7.0.73/bin/setclasspath.sh

This file is needed to run this program",

需要检查环境变量,或者干脆执行

unset CATALINA_HOME

浏览器输入http://ip:8080

出现tomcat经典界面说明启动成功

上传war包并测试

将war包上传在{{tomcat}}/webapps目录中

tomcat会自动解压

访问http://ip:8080/项目名/

出现正常结果说明部署成功

绑定域名

域名解析

进入域名服务商,将域名解析绑定到服务器ip上

修改server.xml

翻到最后,</Engine>标签和</Host>中添加如下

<Host name="aaa.bbb.com" appBase="webapps/websitename"
unpackWARs="true" autoDeploy="true">
</Host>

name中修改为你绑定的域名

appBase中为项目的相对路径

测试http://aaa.bbb.com:8080/websitename/

大功告成!

配置SSL证书

给tomcat这个网站上ssl证书,使用免费的let's Encrypt

注册并创建证书

  1. 搜索来此加密

  2. 注册并登录

  3. 申请证书,注意使用域名方式,泛域名版本可以包括子级所有域名

  4. 验证证书,使用text解析法,方便快捷

Tomcat上部署

  1. 证书拿到后进行下载

  2. 压缩包里certificate.pfx和detail.txt 是我们需要的内容

  3. 前者放在服务器{{tomcat}}/cert文件夹中(文件夹需要自己创建)

  4. 在server.xml中已有的connector标签平行地方插入如下语句,只需要更改keystorePass即可

    证书密码是detail.txt中的pfx导入密码

<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/certificate.pfx" keystoreType="PKCS12" keystorePass="证书密码" clientAuth="false" sslProtocol="TLS"/>
  1. 修改后 使用https://aaa.bbb.com/websitename/ 进行访问

    ​ 注意不再需要加:8080(是不要加,而不是不必加),因为https默认443端口

出错修复

注意,需要重启服务器,才能更换成功!!!!

证书给出的是完整的证书,在安卓上会报错

详见

原理:https://www.it163.com/support/336.html

报错处理:https://www.cnblogs.com/jungejava/p/11208249.html

在经历了心态爆炸之后,我打算用阿里云的ssl证书了,阿里云牛逼!

这里记录几点坑

  1. pfx证书可以使用,也不需要把中间证书导进来(如果你是使用的阿里云的话)

  2. 要严格按照阿里云的要求来https://help.aliyun.com/document_detail/98576.html

  3. 注意配置Connector时,protocol="HTTP/1.1"改为protocol="org.apache.coyote.http11.Http11NioProtocol"

  4. keytool -changealias -keystore domain name.pfx -alias alias -destalias tomcat

    一定要执行,linux控制台cd到cert目录,执行上述命令,只需要把domain name替换成你的证书文件名字

  5. 证书更新记得一定要重启服务器,包括更高server.xml一样

  6. host也可这也配置

    
        
    

    可以选择把Engine的defaultHost改为你的域名,这样ip访问会失效,亲测不改也可以,ip和域名都使用

续费SSL证书

每年都要续费一次免费证书,这里更新一下如何续费免费证书

购买

  1. 登录管理控制台,进入SSL证书
  2. 点击立即购买,选择免费的证书
  3. 点击创建证书,证书申请页,输入之前的域名,选择自动/手动DNS验证,CSR生成选择系统生成,点击下一步,验证DNS域名解析

重新部署

点击下载,选择tomcat的,下载下来是一个pfx证书和密码txt文件。

  1. 进入服务器,进入tomcat安装目录
  2. 进入conf的server.xml查看之前证书部署在哪(搜索.pfx)
  3. 修改xml这项中的keystorePass里的密码为压缩包密码里的密码
  4. 进入keystoreFile里的目录,重新上传pfx文件(保持文件名相同)

重启tomcat

  1. 进入tomcat的bin目录
  2. unset CATALINA_HOME
  3. ./shutdown.sh
  4. ./startp.sh

验证

进入域名,查看证书时间,证书时间已经更新

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注