第一步、新建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>
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文件是自己建立的里面存了密码):
第三步、使用证书
见pfx证书文件防止在资源文件夹下:
修改配置文件:
# 第一个高可用注册中心
server:
# 指定服务端口-https默认端口
port: 443
# ssl配置
ssl:
key-store: classpath:name.pfx
key-store-password: dw123456
keyStoreType: PKCS12
注意:这里指定的端口为443,即https默认的端口,使用https的时候可以不用输入对应端口;
第四步、启动SpringBoot应用
启动最后监听在443端口成功。
如果443端口被占用,使用 netstat -ano | findstr "443" 找到对应的PID,然后查找PID对应进程名: tasklist |findstr "PID",最后直接干掉进程:taskkill /f /t /im 进程名(当然直接到任务管理器找到进程id干掉也可)
第五步、访问应用
(1)使用ip访问:https://localhost/
发现可以访问,但是使用localhost域名是不受信任的,换成与证书相同的域名,为了测试配置hosts文件将域名指向自己的ip:192.168.12.8
(2)使用与证书相同的域名访问
安全!受信任!使用google测试如下: