springboot nginx linux 配置ssl 实现https通信

1 篇文章 0 订阅
1 篇文章 0 订阅

我们先来了解一下什么是HTTPS

1. HTTPS概念

       1)简介  

       HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,

提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

       2)HTTPS和HTTP的区别

a. https协议需要到ca申请证书,一般免费证书很少,需要交费。

b. http是超文本传输协议,信息是明文传输;https 则是具有安全性的ssl加密传输协议。

c. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

d. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

      3)HTTPS的作用

    它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

a. 一般意义上的https,就是服务器有一个证书。主要目的是保证服务器就是他声称的服务器,这个跟第一点一样;服务端和客户端之间的所有通讯,都是加密的。

b. 具体讲,是客户端产生一个对称的密钥,通过服务器的证书来交换密钥,即一般意义上的握手过程。

c. 接下来所有的信息往来就都是加密的。第三方即使截获,也没有任何意义,因为他没有密钥,当然篡改也就没有什么意义了。

d.少许对客户端有要求的情况下,会要求客户端也必须有一个证书。

这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,还有一个CA 认证过的身份。因为个人证书一般来说是别人无法模拟的,所有这样能够更深的确认自己的身份。目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘(即U盾)作为一个备份的载体。

Springboot 配置SSL过程

1.从SSL证书授权中心获得的。

一般情况下,域名提供商都会有购买SSL证书的入口,具体情况具体分析。

2.SpringBoot配置SSL

作者这里获取到的ssl证书文件结构如下:

这种情况下,我们配置文件里要找的是 tomcat文件夹下的文件。

首先将该jks文件,复制到项目 resources 文件夹下,和 application.properties 同级目录下。

其次在 application.properties 配置文件中,配置如下信息:

#server.ssl.key-store=classpath:4837847_XXX.pfx
#server.ssl.key-store-password=XXXX
#server.ssl.keyStoreType=PKCS12
server.ssl.key-store=classpath:XXXX.jks
server.ssl.key-store-password=XXXX
server.ssl.keyStoreType=JKS

项目编译发布到服务器上的时候,同时需要复制该jks文件到 对应发布文件的同级目录下。

Nginx 配置

server{
    listen 443 ssl; # https 协议默认443端口
    server_name www.xxx.com;
    ssl_certificate /etc/ssl/xxx.pem;  #服务器上pem文件的存放路径地址
    ssl_certificate_key /etc/ssl/xxx.key; #服务器上key文件的存放路径地址
    ssl_session_timeout 50m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {
            root /xxx/xxx;
            index index.html;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值