在腾讯云上买了一个学生服务器,外加一年的cn域名(已备案)。同时申请了一个免费一年的SSL证书。
服务器系统: Ubuntu Server 18.04.1 LTS 64位
tomcat: apache-tomcat-9.0.27 官网下载地址
1.在服务器上安装Java8
参考大佬的Ubuntu 18.04安装Java JDK8三种方式,我安装的open jdk8。
要安装其他版本的请自行安装
- 更新软件包列表:
sudo apt-get update
- 安装openjdk-8-jdk:
sudo apt-get install openjdk-8-jdk
- 查看java版本,看看是否安装成功:
java -version
2.通过win10的scp命令上传tomcat文件
请更据自己的详细情况修改,scp命令详情自行百度或Google
scp 文件名及目录 服务器用户名@服务器ip地址:上传到服务器的路径
scp C:\Users\***\Downloads\apache-tomcat-9.0.27.tar.gz ubuntu@ip地址:/home/ubuntu
我这里用的默认的用户名,ip地址打马赛克了
3.通过win10的scp命令上传SSL证书
从腾讯云控制台下载SSL证书,解压缩
从腾讯云控制台下载的SSL证书
因为要配置tomcat的SSL,所以需要将tomcat文件夹内的文件上传到服务器。
tomcat文件夹内容
里面只有一个.jks文件,通过SCP命令上传
scp C:\Users\***\Downloads\www.****.cn\Tomcat\www.****.cn.jks ubuntu@ip地址:/home/ubuntu/
4. 通过win10的ssh命令连接服务器,并进行相关配置
在命令行里连接服务器: ssh 用户名@ip地址 -p 端口号
ssh命令使用详情自行百度或Google
ssh ubuntu@**** -p 22
使用tar -zxvf apache-tomcat-9.0.27.tar.gz
命令解压缩,用cp或mv命令移动到相应的文件夹下。
解压缩并移动后tomcat文件夹内容
使用vim命令编辑conf目录下的server.xml文件
命令:vim conf/server.xml
将8443改为443
修改前
修改后
添加如下代码
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate
certificateKeystoreFile="jks文件的绝对路径或相对路径"
certificateKeyAlias="我这里填的域名(www.***.cn)"
certificateKeystorePassword="私钥密码"
type="RSA" />
</SSLHostConfig>
</Connector>
certificateKeyAlias里填申请时在这里填的证书备注名
image.png
保存退出后,编辑conf目录下的web.xml
命令:vim conf/web.xml
添加如下代码,作用:将http转为https
<!-- 强制 HTTPS 访问 -->
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<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>
添加完成后保存退出。
运行bin目录下的startup.sh。(注:需要使用sudo提升权限,不然即使配置好了https也不能访问,有想法的可以自己尝试下)
命令:sudo ./bin/startup.sh
如此tomcat便已启动。
通过https访问成功