前言
小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注一下!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,让我们共同进步!
目录
前言
一、如何进行域名购买
1、阿里云官网购买 阿里云-为了无法计算的价值 (aliyun.com)
2、可能会遇到域名比价抢手的情况
3、 可以换一个名字,或者一直往下拉,就可以看到你能接受的价格了
4、 加入购物清单,购买成功就直接进入域名控制台(购买时填写信息需要实名认证)
二、获取免费ssl证书
1、进入腾讯云官网 腾讯云 产业智变·云启未来 - 腾讯 (tencent.com)
2、先登录,需要实名认证,登录过后就可以看到下图红框里面的图标了
3、在搜索框里面搜索ssl证书
4、点击产品控制台
5、点击产品控制台 进入到下图页面
6、选择好证书类型,进入以下页面
7、填好信息,域名为在阿里云购买的
8、进入阿里云控制台
9、在搜索框中搜索云解析DNS
10、进入域名解析,点击解析设置
11、将那个免费获取ssl证书验证里面,添加DNS解析码复制过来,就可以通过验证了
12、点击下载
12、小编下载的是tomcat jks,下面讲的是jsk版
三、springboot绑定ssl证书
1、配置443端口步骤
第一步:搜索云服务器ECS
第二步:点击实例 创建实例
第三步:创建免费试用的实例编辑
第四步:选择配置
第五步:等它运行成功
第六步: 点击实例进入详情页面
第七步: 点击安全组 去配置规则
第八步:手动添加443端口
第九步:创建springboot项目
第十步:解压之前下载的证书jks,有如下两个文件,复制进resource资源目录下
第十一步:项目结构
第十二步:创建index.xml页面
第十三步:在application.properties中加入以下代码
第十四步:启动类 SslApplication
第十五步:启动成功
四、jdk自带生成的https
第一步:给jdk所在目录管理员权限
第二步:找到jdk的bin目录
第三步:进入命令行cmd
第四步:路径为bin下
第五步:输入以下代码
第六步: 当你完成以下步骤没有报错,或者被拒绝即为生成成功
第七步:且出现keystore.p12
第八步:在application.properties中加入以下代码
第九步:把之前的ssl证书的配置注释掉,启动类中的重定向和@value也注释掉,就留一个main方法
第十步:运行成功
一、如何进行域名购买
1、阿里云官网购买 阿里云-为了无法计算的价值 (aliyun.com)
2、可能会遇到域名比价抢手的情况
3、 可以换一个名字,或者一直往下拉,就可以看到你能接受的价格了
4、 加入购物清单,购买成功就直接进入域名控制台(购买时填写信息需要实名认证)
二、获取免费ssl证书
1、进入腾讯云官网 腾讯云 产业智变·云启未来 - 腾讯 (tencent.com)
2、先登录,需要实名认证,登录过后就可以看到下图红框里面的图标了
3、在搜索框里面搜索ssl证书
4、点击产品控制台
5、点击产品控制台 进入到下图页面
6、选择好证书类型,进入以下页面
7、填好信息,域名为在阿里云购买的
验证域名的时候需要去阿里云的域名下添加一条解析记录(注意:你这里需要点击手动添加一条DNS解析)
因为小编已经申请了免费的ssl证书,所以这里就不演示了。直接看如何在阿里云添加解析记录进行验证
8、进入阿里云控制台
9、在搜索框中搜索云解析DNS
10、进入域名解析,点击解析设置
(注意:你的解析设置可能没有在这里出现,需要自己在更多哪里找一下)
11、将那个免费获取ssl证书验证里面,添加DNS解析码复制过来,就可以通过验证了
12、点击下载
12、小编下载的是tomcat jks,下面讲的是jsk版
完成上述步骤就可以获取免费的ssl证书了
三、springboot绑定ssl证书
1、配置443端口步骤
第一步:搜索云服务器ECS
第二步:点击实例 创建实例
第三步:创建免费试用的实例
第四步:选择配置
第五步:等它运行成功
第六步: 点击实例进入详情页面
第七步: 点击安全组 去配置规则
第八步:手动添加443端口
第九步:创建springboot项目
第十步:解压之前下载的证书jks,有如下两个文件,复制进resource资源目录下
第十一步:项目结构
第十二步:创建index.xml页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>你好</h1>
</body>
</html>
第十三步:在application.properties中加入以下代码
# ssl配置
# https加密端口号 443
# 服务器运行端口
server.port=443
# http 监听端口,用于重定向到 https 端口
server.port.http=80
# SSL证书路径 一定要加上classpath,证书名只能有一个后缀,否则找不到不到文件,如:name.cn.jks 则找不到
server.ssl.key-store=classpath:证书名字.jks
# SSL证书密码
server.ssl.key-store-password=证书密码
# 证书类型
server.ssl.key-store-type=JKS
第十四步:启动类 SslApplication
package com.lyn.ssl;
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class SslApplication {
// http 请求端口,线上配置为 80
@Value("${server.port.http}")
private int serverPortHttp;
// 服务器运行端口,等同于 HTTPS 请求端口,线上 443
@Value("${server.port}")
private int serverPortHttps;
public static void main(String[] args) {
SpringApplication.run(SslApplication.class, args);
}
/**
* http重定向到https
*/
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat;
tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint constraint = new SecurityConstraint();
constraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
constraint.addCollection(collection);
context.addConstraint(constraint);
}
};
tomcat.addAdditionalTomcatConnectors(httpConnector());
return tomcat;
}
@Bean
public Connector httpConnector() {
Connector connector = new Connector(Http11NioProtocol.class.getName());
connector.setScheme("http");
//Connector监听的http的端口号
connector.setPort(serverPortHttp);
connector.setSecure(false);
//监听到http的端口号后转向到的https的端口号
connector.setRedirectPort(serverPortHttps);
return connector;
}
}
第十五步:启动成功
四、jdk自带生成的https
第一步:给jdk所在目录管理员权限
(注意:不给管理员权限可能会报错)
第二步:找到jdk的bin目录
第三步:进入命令行cmd
第四步:路径为bin下
第五步:输入以下代码
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
第六步: 当你完成以下步骤没有报错,或者被拒绝即为生成成功
注意:密码可能是隐形的,所以最好要记住敲了什么密码
第七步:且出现keystore.p12
注意:如果没有p12可能是将后缀名隐藏了
第八步:在application.properties中加入以下代码
# jdk自带的https
# 比如 D:/Program Files/Java/jdk1.8.0_231/bin/keystore.p12
server.ssl.key-store=你的jdk路径写到bin/keystore.p12
server.ssl.key-store-password=123456
server.ssl.keyStoreType=PKCS12
第九步:把之前的ssl证书的配置注释掉,启动类中的重定向和@value也注释掉,就留一个main方法
第十步:运行成功
以上就是小编所要讲的全部内容,希望各位大佬多多指教