"request合法域名"跟上面CA证书中申请的二级域名一致。
Springboot增加证书
创建Springboot项目。
解压缩后,证书文件4375838_wechat.abc.com.pfx放到resources文件夹下面,另外一个文件存放的是密码。
配置文件设置:
server:
port: 443
ssl:
key-store: classpath:4375838_wechat.abc.com.pfx
key-store-password: R12btm8z
测试ssl
增加文件SslTest,https://localhost/ssl/get 可以访问接口
@RestController
@RequestMapping("ssl")
public class SslTest {
/**
* 访问 https://localhost/ssl/get
* @return
*/
@GetMapping("get")
public String selectAllUser(){
System.out.println("test");
return "test";
}
}
SpringCloud gateway配置
server:
port: 443
ssl:
key-store: classpath:4375838_wechat.techcomeredu.cn.pfx
key-store-password: R12btm8z
SpringCloud 两个端口同时访问
http:
port: 19000
server:
port: 443
ssl:
key-store: classpath:4375838_wechat.techcomeredu.cn.pfx
key-store-password: R12btm8z
增加HttpsToHttp.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory;
import org.springframework.boot.web.server.WebServer;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.server.reactive.HttpHandler;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@Configuration
public class HttpsToHttp {
@Autowired
private HttpHandler httpHandler;
private WebServer webServer;
@Value("${http.port}")
private Integer httpPort;
@PostConstruct
public void start() {
NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory(httpPort);
WebServer webServer = factory.getWebServer(httpHandler);
webServer.start();
}
@PreDestroy
public void stop() {
webServer.stop();
}
}
通过 http://localhost:19000/edu-rbac/swagger-ui.html 和 https://localhost/edu-rbac/swagger-ui.html 均可以访问。
完毕!