SpringBoot+阿里云配置HTTPS加密访问

简介: SpringBoot+阿里云配置HTTPS加密访问


一、前言

没做这个https的时候,感觉遥不可及。做了之后感觉并不是这么难。

二、聊一聊HTTP与HTTPS

此部分来源于:支持原博主,写的通俗易懂

(一)HTTP和HTTPS是什么?

我们使用浏览器访问一个网站页面,在浏览器的地址栏中我们会看到一串URL,如图:

网站的URL会分为两部分:通信协议域名地址

域名地址都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言。网站中的通信协议一般就是HTTP协议和HTTPS协议。

1、HTTP协议

HTTP协议是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,但是互联网发展到今天,HTTP协议的明文传输会让用户存在一个非常大的安全隐患。试想一下,假如你在一个HTTP协议的网站上面购物,你需要在页面上输入你的银行卡号和密码,然后你把数据提交到服务器实现购买。假如这个适合,你的传输数据被第三者给截获了,由于HTTP明文数据传输的原因,你的银行卡号和密码,将会被这个截获人所得到。现在你还敢在一个HTTP的网站上面购物吗?你还会在一个HTTP的网站上面留下你的个人信息吗?

2、HTTPS协议

HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。这样,就算数据被第三者所截获,但是由于数据是加密的,所以你的个人信息让然是安全的。这就是HTTP和HTTPS的最大区别。

其实如果你足够细心,你会发现现在很多大型互联网网站,如百度、淘宝、腾讯很早就已经把HTTP换成HTTPS了。

(二)HTTP和HTTPS的其他不同

数据加密传输,是HTTP和HTTPS之间的本质性区别,其实除了这个之外,HTTPS网站和HTTP网站还有其他地方不同。

当你使用Chrome浏览器访问一个HTTP网站的时候,你会发现浏览器会对该HTTP网站显示“不安全”的安全警告,提示用户当前所访问的网站可能会存在风险。

而假如你访问的是一个HTTPS网站时,情况却是完全不一样。你会发现浏览器的地址栏会变成绿色,企业名称会展示在地址栏中,地址栏上面还会出现一把“安全锁”的图标。这些都会给与用户很大的视觉上的安全体验。以下是EV证书在不同浏览器中的展现。

除了浏览器视觉上不同以外,HTTPS网站和HTTP网站还有一个很重要的区别,就是对搜索排名的提升,这也是很多站长所关注的地方。

百度和谷歌两大搜索引擎都已经明确表示,HTTPS网站将会作为搜索排名的一个重要权重指标。也就是说HTTPS网站比起HTTP网站在搜索排名中更有优势。

HTTPS网站相比起HTTP网站拥有着多种的优势,HTTP明显已经不能适应当今这个互联网时代,可以预见到HTTP在不久的将来将会全面被HTTPS所取代。

三、HTTP存在的安全性问题

  • 使用明文进行通信,内容可能会被窃听;
  • 不验证通信方的身份,通信方的身份有可能遭遇伪装;
  • 无法证明报文的预设,报文有可能遭受纠正改。

HTTPS并不是新协议,而是让HTTP先和SSL(安全套接字层)通信,再由SSL和TCP通信,即通过HTTPS使用了隧道进行通信。

四、给SpringBoot项目配置https

https://segmentfault.com/a/1190000019976390

实战(一)使用阿里云的https证书

1、申请证书

申请证书的方法可以参考阿里云社区的一篇文章:https://yq.aliyun.com/articles/637307

2、下载申请好的证书

下载后,会是两个文件,一个pfx证书文件,一个密钥

3、SpringBoot中配置证书

首先把证书放进项目

yml文件:

#HTTPS
http:
  port: 8080
server:
  port: 443
  ssl:
    key-store: 证书名字.pfx
    key-store-password: 密钥
    keyStoreType: PKCS12

其实这样就完事了,但是你发现了吗,当你访问http://www.baidu.com的时候会自动跳转到https://www.baidu.com

为了实现这个,咱们还需要配置自动跳转。

有很多方式,例如:通过Nginx,Apache,Tomcat之类的容器都是可以的。

下面介绍通过访问SpringBoot的8080端口自动跳转到443,也很简单

springboot2.X 在启动类中加入以下代码:

/**
     * 设置自动重定向http到https(80端口->443端口):
     * 在启动类中加入以下代码:
     * @return
     */
    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(redirectConnector());
        return tomcat;
    }
    private Connector redirectConnector() {
        Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
        connector.setScheme("http");
        connector.setPort(8080); 
        connector.setSecure(false);
        connector.setRedirectPort(443);
        return connector;
    }
目录
相关文章
|
1天前
|
弹性计算 运维 Nacos
nacos问题之配置中心加密如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
16 4
|
1天前
|
存储 弹性计算 ice
阿里云ECS云服务器怎么样?2024年阿里云ECS云服务器配置价格表
阿里云云服务器ECS的价格表因不同的配置、实例类型、地域和促销活动等因素而有所不同。以下是一些常见的阿里云云服务器ECS价格表信息: 1. 按量付费:按量付费是一种灵活的计费方式,您可以根据实际需求选择实例规格、操作系统、存储和带宽等配置,并按照实际使用情况进行计费。按量付费的价格通常比预付费要高一些,但灵活性更高,适合短期或临时使用云服务器的用户。
|
1天前
|
弹性计算 大数据 测试技术
阿里云4核8G云服务器多少钱?阿里云4核8G配置云服务器不同实例收费标准价格及选择指南
阿里云4核8G配置的云服务器为多种应用场景提供了强大的计算能力。根据实例规格的不同,其价格也有所差异。目前,经济型e实例是收费标准最低的,每月仅需216元。然而,通过阿里云官网的促销活动购买,用户可以享受到更为优惠的价格。当前有经济型e、通用算力型u1、计算型c7和计算型c8y实例可选。其中,最低价格可达1684.68元/年。用户可以根据自己的应用需求、预算以及对性能的要求来选择适合的实例规格。
|
1天前
|
弹性计算 大数据 测试技术
阿里云服务器2核4G3M配置带宽收费标准及优惠价格详解
阿里云服务器2核4G配置3M带宽的价格确实因实例规格的不同而有所差异。以共享标准型s6和高主频计算型hfc6为例,其价格分别为2152.20元/年和3121.20元/年。然而,通过阿里云的促销活动,用户有机会以更低的价格购买到这种配置的服务器。根据活动情况,2核4G3M带宽的阿里云服务器的价格可能在934.13元至3603.04元之间。
|
2天前
|
机器学习/深度学习 存储 弹性计算
阿里云GPU服务器价格多少钱?2024年阿里云GPU服务器价格配置及性能测评
2024年阿里云GPU服务器是一款高性能的计算服务器,基于GPU应用的计算服务,多适用于视频解码、图形渲染、深度学习、科学计算等应用场景。阿里云GPU服务器具有超强的计算能力、网络性能出色、购买方式灵活、高性能实例存储等特点。 阿里云提供了多种配置的GPU服务器,包括gn6v、gn6i、vgn6i-vws和gn6e等,这些服务器配备了不同型号的GPU计算卡、不同规格的内存和存储空间,可以满足不同用户的计算需求。同时,阿里云还为新用户提供了特惠价格,包年购买更是低至3折起,使得用户可以更加经济地购买到高性能的GPU服务器。
23 0
|
2天前
|
存储 弹性计算 大数据
阿里云8核64G云服务器多少钱?2024年阿里云8核64G云服务器配置、价格、性能测评
2024年阿里云8核64G云服务器的价格为9934.16元一年。该价格基于特定的配置和促销活动,并可能因时间、活动政策、地域等因素而有所变动。关于阿里云8核64G云服务器的性能测评,该服务器配备了64GB的内存和8核的CPU,具有极高的计算能力和处理速度,适用于处理超大型数据、运行复杂应用或需要极高并发处理能力的场景。多种带宽选择(从1M到5M)可以满足不同的网络需求,确保数据传输的高效性。同时,40GB ESSD云盘提供了快速且稳定的数据存储解决方案,有助于提升整体性能。
|
2天前
|
存储 弹性计算 大数据
阿里云4核32G云服务器多少钱?2024年阿里云4核32G云服务器配置报价详细测评
2024年阿里云4核32G云服务器的价格为5121.88元一年。这个价格基于特定的配置和促销活动,并且可能因时间、活动政策、地域等因素而有所变动。关于阿里云4核32G云服务器的性能测评,该服务器配备了32GB的内存和4核的CPU,提供了出色的计算能力和处理速度。对于需要处理大型数据、运行复杂应用或需要高并发处理能力的场景,这款服务器能够提供稳定且高效的服务。多种带宽选择(从1M到5M)可以满足不同的网络需求,而40GB ESSD云盘则提供了快速且可靠的数据存储解决方案。
|
2天前
|
存储 弹性计算 大数据
阿里云2核16G云服务器多少钱?2024年阿里云2核16G云服务器配置价格及性能详解
2024年阿里云2核16G云服务器的价格为2715.74元一年。这个价格基于特定的配置和促销活动,并且可能因时间、活动政策、地域等因素而有所变动。关于阿里云2核16G云服务器的性能测评,该服务器配备了16GB的内存和2核的CPU,虽然核数相对较少,但16GB的内存可以确保处理大型任务或应用时的流畅性。多种带宽选择(从1M到5M)可以满足不同的网络需求。40GB ESSD云盘提供了高速且稳定的存储性能,这对于提升数据读写效率非常重要。
14 0
|
2天前
|
存储 弹性计算 编解码
阿里云8核32G云服务器多少钱?2024年阿里云8核32G云服务器配置价格及性能评测
2024年阿里云8核32G云服务器的价格为7543.01元一年。该价格基于特定的配置和促销活动,可能因时间、活动政策、地域等因素而有所变动。关于阿里云8核32G云服务器的性能测评,该服务器配备了32GB的内存和8核的CPU,具有出色的计算能力和处理速度,可以轻松应对大型应用、高并发场景和复杂计算任务。同时,服务器提供了多种带宽选择,从1M到5M不等,可以满足不同用户的网络需求。40GB ESSD云盘提供了高速且稳定的存储性能,有助于提升数据读写效率。
|
2天前
|
存储 弹性计算 大数据
阿里云4核16G云服务器多少钱?2024年阿里云4核16G云服务器配置价格及性能测评
阿里云4核16G云服务器多少钱?2024年阿里云4核16G云服务器的价格并不是固定的,它会根据促销活动和实例类型有所变动。例如,在阿里云公布的2023年新版收费标准及活动价格中,4核16G配置的活动价格根据实例类型有所不同,共享型s6实例的价格为107.46元3个月,年付为1719.36元/年。此外,还有一款轻量应用服务器,4核16G的价格为61元一年。这些都是特定时间内的促销价格,可能会有所变化。关于阿里云4核16G云服务器的性能测评,这款服务器配备了16GB的内存和4核的CPU,能够提供较高的计算能力和处理速度,适合处理大型应用和复杂任务。同时,服务器提供了多种带宽选择,从1M到5M不等,

热门文章

最新文章