Spring boot with HTTPS SSL

本文节选自《Netkiller Java 手札》

5.24. Spring boot with HTTPS SSL

5.24.1. 生成自签名证书

			keytool -genkey -alias www.netkiller.cn -keyalg RSA -keystore /www/netkiller.cn/www.netkiller.cn.keystore			

导入证书(Windows)

			keytool -selfcert -alias www.netkiller.cn -keystore www.netkiller.cn.keystore
keytool -export -alias www.netkiller.cn -keystore www.netkiller.cn.keystore -storepass passw0rd -rfc -file www.netkiller.cn.cer			

导入证书(JVM)

			keytool -importcert -alias www.netkiller.cn -file www.netkiller.cn.cer -keystore /srv/java/jre/lib/security/cacerts			

5.24.2. application..properties 配置文件

配置Tomcat HTTPS 端口 8443(由于JVM不能fork和setuid,所以无法向nginx,apache httpd 那样设置 80 端口,除非你使用root用户运行,但这样做是不安全的。)

			server.port=8443
server.ssl.enabled=true
server.ssl.key-store=/www/netkiller.cn/www.netkiller.cn.keystore
server.ssl.key-store-password=passw0rd
server.ssl.key-store-type=JKS
server.ssl.key-alias=www.netkiller.cn			

5.24.3. 启动 Spring boot

			/srv/java/bin/java -server -Xms2048m -Xmx8192m -Djava.security.egd=file:/dev/./urandom -jar /www/netkiller.cn/www.netkiller.cn/www.netkiller.cn-0.0.1.war			

5.24.4. restTemplate 调用实例

			String url = "https://www.netkiller.cn:8443/public/test/version.json";
ResponseEntity<RestResponse<String>> result = restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference<RestResponse<String>>() {});

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2017-06-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极客日常

利用Helm一键部署Kubernetes Dashboard并启用免费HTTPS

Kubernetes Dashboard 是一个可以可视化查看和操作 Kubernetes 集群的一个插件

5163
来自专栏乐沙弥的世界

publickey,gssapi-with-mic,Unspecified GSS failure

        最近的MHA配置时碰到了Permission denied (publickey,gssapi-with-mic,password)这个错误提示...

1132
来自专栏史上最简单的Spring Cloud教程

史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)

在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Fe...

2257
来自专栏Kubernetes

Kubernetes Nginx Ingress Controller源码分析之创建篇

main controllers/nginx/pkg/cmd/controller/main.go:29 func main() { // start a ...

7257
来自专栏Android 开发学习

IntelliJ IDEA spring mvc +mybatis 环境搭建服务器(中)

2043
来自专栏极客日常

利用Helm一键部署Kubernetes Dashboard并启用免费HTTPS

Kubernetes Dashboard 是一个可以可视化查看和操作 Kubernetes 集群的一个插件

9122
来自专栏一个会写诗的程序员的博客

第11章 Spring Boot应用监控第11章 Spring Boot应用监控小结

在实际的生产系统中,我们怎样知道我们的应用运行良好呢?我们往往需要对系统实际运行的情况(各种cpu,io,disk,db,业务功能等指标)进行监控运维。这需要耗...

2353
来自专栏程序员的酒和故事

跟Google学写代码--Chromium/base--windows_version源码学习及应用

Chromium是一个伟大的、庞大的开源工程,很多值得我们学习的地方。 前面写道: 《跟Google学写代码–Chromium/base–stl_util源...

3527
来自专栏bboysoul

cve-2017-11882漏洞利用

这是一个潜伏了17年之久的远程代码执行漏洞,这个漏洞影响了目前所有的流行office软件,原理是利用了office的一个EQNEDT32.EXE组件,就是公式编...

744
来自专栏python百例

111-配置IP地址

RHEL7主机有四块网卡,名为eth0/eth1/eth2/eth3。为四块网卡配置IP地址。

1433

扫码关注云+社区