本文主要介绍 如何启用HTTPS
一、准备工作
- 服务器一台(可以购买阿里云轻量应用服务器,比较便宜)
- SSL证书 (可以注册阿里云免费证书,安全性较差)
- 域名一个 (可以在万网上购买并要进行备案)
- 本地打包好的项目(博主是使用springboot开发,所以打包好的是jar包而不是war包)
- ftp客户端
首先在服务器上搭建好环境(数据库,jdk之类的),因为演示的项目是由SpringBoot搭建,有内置运行容器,所以不用Tomcat。
1)SSL证书
可以上阿里云申请免费版的SSL证书,也可以访问FreeSSL网站进行注册免费的证书
2)域名备案成功后需要进行解析
到阿里云控制台,进入域名管理
3)解析完成后在这块点击证书申请,填写相关信息
申请好后经过审核 ,然后便可以点击下载
4)注入ServletWebServerFactory
在我们SpringBoot项目中的启动类中注入ServletWebServerFactory:
- @Bean
- public ServletWebServerFactory servletContainer(){
- TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
- tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
- return tomcat;
- }
- private Connector createHTTPConnector() {
- Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
- //同时启用http(8080)、https(8866)两个端口
- connector.setScheme("http");
- connector.setSecure(false);
- connector.setPort(8080);
- connector.setRedirectPort(8866);
- return connector;
- }
然后在application.properties配置文件中添加
这里注意是server.ssl.key-store-password而不是 server.ssl.key-password
5)打包项目
将自己打包好的项目和下载下来的证书放到usr/develop/project 文件夹下,文件夹目录可以自己选择。
为了方便我自己建了几个脚本方便运行。
vim start.sh
建立启动脚本,内容如下:
- nohup java -jar 自己的项目名称.jar &
- vim stop.sh
建立停止脚本,内容如下:
- PID=$(ps -ef | grep 自己的项目名称.jar | grep -v grep | awk '{ print $2 }')
- if [ -z "$PID" ]
- then
- echo Application is already stopped
- else
- echo kill $PID
- kill -9 $PID
- fi
- vim run.sh
建立运行脚本,内容如下
- echo stop application
- source stop.sh
- echo start application
- source start.sh
然后在终端输入 ./run.sh如果提示没有权限,则输入
- chmod u+x *.sh
然后再输入 ./run.sh这样我们的程序就启动了,然后我们在浏览器上就可以通过https://域名:端口号访问自己的项目了
作者:蔡不菜丶
链接:https://juejin.im/post/6859331178290380808
来源:掘金