37、SpringBoot使用SSL免费证书

 

第一步、新建SpringBoot项目

 

pom文件:

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">

 

  <modelVersion>4.0.0modelVersion>

  <groupId>com.easystudygroupId>

  <artifactId>sring-maven-testartifactId>

  <version>0.0.1-SNAPSHOTversion>

  <name>测试name>

  <description>描述description>

  <packaging>jarpackaging>

 

 

 

  <parent>

      <groupId>org.springframework.bootgroupId>

      <artifactId>spring-boot-starter-parentartifactId>

      <version>2.0.2.RELEASEversion>

      <relativePath/>

  parent>

 

 

  <dependencies>

       <dependency>

              org.springframework.boot

               spring-boot-starter-web

              dependency>

  dependencies>

project>

 

入口代码:

 

package com.easystudy;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

 

@SpringBootApplication

public class App {

 

    public static void main(String[] args) {

        SpringApplication.run(App.class, args);

    }

 

}

 

控制层:

 

package com.easystudy.controller;

 

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

 

@RestController

public class HelloController {

 

    @GetMapping("/hello")

    public String hello(){

        return "hello";

    }

}

 

 

第二步、生成免费证书

2015年基于https这块已经有免费证书,这对于不少SSL证书商家来说是不小的大家,关于如何申请免费证书可以参考:

(1)letencript国外免费证书

(2)freessl官网

 

生成免费证书后用到tomcat下可能需要将pem和key文件转换为pfx文件,这里使用到OpenSSL和JDK的工具keytool,生成后如下(pfx-password文件是自己建立的里面存了密码):

 

37、SpringBoot使用SSL免费证书_第1张图片

 

第三步、使用证书

 

见pfx证书文件防止在资源文件夹下:

37、SpringBoot使用SSL免费证书_第2张图片

 

修改配置文件:

37、SpringBoot使用SSL免费证书_第3张图片

# 第一个高可用注册中心

server:

  # 指定服务端口-https默认端口

  port: 443

  # ssl配置

  ssl:

    key-store: classpath:name.pfx

    key-store-password: dw123456

    keyStoreType: PKCS12

 

注意:这里指定的端口为443,即https默认的端口,使用https的时候可以不用输入对应端口;

 

第四步、启动SpringBoot应用

 

37、SpringBoot使用SSL免费证书_第4张图片

启动最后监听在443端口成功。

37、SpringBoot使用SSL免费证书_第5张图片

 

如果443端口被占用,使用 netstat -ano | findstr "443" 找到对应的PID,然后查找PID对应进程名: tasklist |findstr "PID",最后直接干掉进程:taskkill /f /t /im 进程名(当然直接到任务管理器找到进程id干掉也可)

 

第五步、访问应用

 

(1)使用ip访问:https://localhost/

37、SpringBoot使用SSL免费证书_第6张图片

发现可以访问,但是使用localhost域名是不受信任的,换成与证书相同的域名,为了测试配置hosts文件将域名指向自己的ip:192.168.12.8

 

37、SpringBoot使用SSL免费证书_第7张图片

 

(2)使用与证书相同的域名访问

37、SpringBoot使用SSL免费证书_第8张图片

安全!受信任!使用google测试如下:

37、SpringBoot使用SSL免费证书_第9张图片

 

 

你可能感兴趣的:(spring,cloud)