如何进行域名购买,获取免费ssl证书,使用springboot绑定ssl证书

news2024/9/30 21:36:05

前言

小编我将用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方法

第十步:运行成功

 以上就是小编所要讲的全部内容,希望各位大佬多多指教

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/374882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux修改文件属性和权限

本次我们还是使用CentOS7来进行实验查看文件属性首先我们可以使用ll命令来查看某一文件的属性现在可以拆分一下-rw-r--r--1rootroot3042月27 22:58kaka文件类型文件所有者权限用户组权限其他人权限硬链接次数属主属组文件大小最后修改时间文件名1.文件类型-普通文件&#xff0c…

python同步线程

线程同步可以定义为一种方法&#xff0c;借助这种方法&#xff0c;可以确信两个或更多的并发线程不会同时访问被称为临界区的程序段。 另一方面&#xff0c;正如我们所知道的那样&#xff0c;临界区是共享资源被访问的程序的一部分。 因此&#xff0c;同步是通过同时访问资源来…

MIT 6.S081学习笔记

计划花25天时间学完6.S081课程&#xff0c;从2月20日-3月20日。课程主页Link   xv6 book   GDB User Manual Lecture 1: Introduction and Examples课程主题&#xff1a;设计和实现操作系统   OS的三大功能&#xff1a;多路复用、隔离和交互。 Lab: Xv6 and Unix utiliti…

“ChatGPT之父”Sam Altman:我是如何成功的?

背靠微软&#xff0c;OpenAI能拳打谷歌&#xff0c;脚踢Meta&#xff0c;它背后的男人&#xff0c;必然不简单。 让我们来看一看&#xff0c;Sam Altman是如何一步步成长为今天这个搅动全世界的男人。 山姆奥特曼&#xff08;Sam Altman&#xff09; 成长和创业经历 在YC创始…

数据结构(Java版)绪论

一、数据结构绪论 1、概论 &#x1f34e;数据结构研究计算机的操作对象以及他们之间的关系和操作。 2、算法的定义、特征、设计要求 算法&#xff1a;是对特定问题求解步骤的一种描述&#xff0c;它是指令的有限序列&#xff0c;是一系列输入转化为输出的计算步骤。 算法的特…

篮球杯 双指针专题

总的来说&#xff0c;双指针分为while(1)类型和尺取法类型可以解决各种问题&#xff08;如子序列问题&#xff09;活动 - AcWing思路&#xff1a;while(1)型的双指针基本形式为&#xff1a;while(1){if(l>n||r>n) break;while(条件&&l<n) l;rl;while(条件&…

使用Platform Designer创建Nios II 最小系统

Nios II简介 ​ Nios II 软核处理器十多年前就有了&#xff0c;它和xilinx的MicroBlaze类似&#xff0c;性能相比硬核处理器要差得多&#xff0c;工程应用也不是很多&#xff0c;那还有必须学习一下吗&#xff1f;我个人认为了解一下Nios II开发流程&#xff0c;对intel FPGA开…

9.网站数据统计

1.Redis 高级数据类型&#xff08;1&#xff09;HyperLogLog统计20万个重复数据的独立总数// 统计20万个重复数据的独立总数. Test public void testHyperLogLog() {String redisKey "test:hll:01";for (int i 1; i < 100000; i) {redisTemplate.opsForHyperLog…

8年测开经验面试28K公司后,吐血整理出高频面试题和答案

#01、如何制定测试计划&#xff1f; ❶参考点 1.是否拥有测试计划的制定经验 2.是否具备合理安排测试的能力 3.是否具备文档输出的能力 ❷面试命中率 80% ❸参考答案 测试计划包括测试目标、测试范围、测试环境的说明、测试类型的说明&#xff08;功能&#xff0c;安全&am…

深入解读.NET MAUI音乐播放器项目(三):界面交互

UI设计的本质是对于产品的理解在界面中多种形式的映射&#xff0c;当需求和定位不同时&#xff0c;对相同的功能表达出了不同的界面和交互方式。 作为播放器&#xff0c;界面可以是千差万别的。《番茄播放器》的iOS平台上我开发了传统版本&#xff0c;和基于手势播放的版本。 …

Word处理控件Aspose.Words功能演示:使用 C++ 在 Word (DOC/DOCX) 中添加或删除水印

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。此外&#xff0c; Aspose API支持流行文件格式处…

Nacos未授权访问漏洞

Nacos介绍 Nacos 的官网地址为&#xff1a; https://nacos.io 它是阿里开源的 SpringCloud Alibaba 项目下的一项技术&#xff0c;可以实现服务注册中心、分布式配置中心。 一般来说&#xff0c;nacos被建议部署在内网中&#xff0c;如果在外网出现&#xff0c;会有很大的风险…

NCRE计算机等级考试Python真题(三)

第三套试题1、按照“后进先出”原则组织数据的数据结构是_______A.栈B.双向链表C.二叉树D.队列正确答案&#xff1a; A2、以下选项的叙述中&#xff0c;正确的是&#xff1a;A.在循环队列中&#xff0c;只需要队头指针就能反映队列中元素的动态变化情况B.在循环队列中&#xff…

数学小课堂:虚数的媒介工具作用(虚构一个现实中不存在的概念,来解决现实问题)

文章目录 引言I 预备知识1.1 平方根1.2 三次方程1.3 极坐标II 虚数2.1 虚数的来源2.2 理解虚数存在的必要性2.3 虚数的影响III 复数3.1 人类认知升级的过程3.2 数字的扩展历史3.3 复数的用途引言 虚数的来源和存在的必要性:三次方程是一定有实数解的,因此根号里面负数的问题…

SREWorks前端低代码组件生态演进:monorepo架构重构和远程组件加载实践

作者&#xff1a;王威&#xff08;地谦&#xff09; 文章结构 项目背景演进分析monorepo架构演进 Webpack与Rollup如何平滑迁移构建优化 组件的可扩展与可插拔演进总结版本动态 项目背景 SREWorks是一个面向企业级复杂业务的开源云原生数智运维平台&#xff0c;是大数据SR…

wafw00f 防火墙探测

kali机器自带防火墙探测工具wafw00&#xff0c;它可以通过发送正常以及不正常甚至包含恶意代码的HTTP请求&#xff0c;来探测网站是否存在防火墙&#xff0c;并识别防火墙的厂商及类型。安装&#xff1a;git clone https://github.com/EnableSecurity/wafw00f.git python setup…

Windows下载安装Prometheus

目录 资料 下载 解压 点击prometheus.exe运行 资料 Prometheus是一个开源的系统监控和报警系统&#xff0c;同时也支持多种exporter采集数据&#xff0c;还支持pushgateway进行数据上报&#xff0c;Prometheus性能足够支撑上万台规模的集群。 官网&#xff1a;https://pr…

DSIN模型

DSIN模型提出得动机&#xff1a;用户得行为是由会话组成得&#xff0c;在每个会话内部用户得行为是相似得&#xff0c;会话之间得用户的行为是存在较大差异性得&#xff0c;而其他模型都没有关注这点&#xff0c;所以就有了DSIN模型。 在这里我们来讲下DSIN关键得四层&#xf…

PR9268/300-000库存现货振动传感器 雄霸工控

PR9268/300-000库存现货振动传感器 雄霸工控PR9268/300-000库存现货振动传感器 雄霸工控SDM010PR9670/110-100PR9670/010-100PR9670/003-000PR9670/002-000PR9670/001-000PR9670/000-000PR9600/014-000PR9600/011-000PR9376/010-021PR9376/010-011PR9376/010-011PR9376/010-001…

2023年最新qq空间说说怎么全部删除_QQ空间说说如何批量删除

2023年最新QQ空间自动删除说说_2023批量删除QQ空间说说插件小工具_QQ空间如何一次性批量删除说说 一千多条说说怎么删&#xff1f;QQ空间说怎么批量删除_怎样把发的空间说说全删了 使用谷歌浏览器插件&#xff0c;一键安装之后&#xff0c;就可以实现「自动删除」和「手动批量…