源码时代java干货分享|手把手教你springboot配置ssl证书(代码片段)

IT-source IT-source     2022-12-03     165

关键词:

图说明

第一步首先去阿里云弄一个免费的SSL证书

下载然后 放到项目里面的resource路径下
这里一定要注意 是 key-store 和 key-store-password 我在配置时写出了 key-password 弄了很久没找到原因 换成了
nginx 去配置,最近还是嫌弃服务启动太多 改了回来

现在如果直接方法服务器上那么现在 就可以https 访问我的项目了 但是如果你用http 就不行 因为http是默认80端口 而https 是默认的 443 端口 所以我在我的启动类里面写一段代码 。防护http 是自动跳转到https
EmbeddedServletContainerFactory 可以因为你的spring boot 版本 过高没有这个class 那么你需要去你对应spring boot版本的class

public class HuahaiApplication 

   public static void main(String[] args)
   
      SpringApplication.run(HuahaiApplication.class, args);
   

   /**
    * 配置一个 TomcatServletWebServerFactory bean
    * 将http 重定向到 https
    * @return
    */
    /**
     * it's for set http url auto change to https
     */
    @Bean
    public EmbeddedServletContainerFactory servletContainer()

        TomcatEmbeddedServletContainerFactory tomcat=new TomcatEmbeddedServletContainerFactory()
            @Override
            protected void postProcessContext(Context context) 
                SecurityConstraint securityConstraint=new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");//confidential
                SecurityCollection collection=new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            
        ;
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    
    //配置http转https
    @Bean
    public Connector httpConnector()
        Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(80);
        connector.setSecure(false);
        connector.setRedirectPort(443);
        return connector;
    



最近我可以把我本地的服务映射到外网去访问借助一个 sunny-ngrok 免费的

去域名管理中心解析你的域名


本地启动ngrok 的服务

效果
输入你的域名 不大https 也会自动跳转到https 这里是因为我刚刚在启动类里面配置了 重定向

腾讯bugly干货分享精神哥手把手教你怎样智斗anr

上帝说要有ANR,于是Bugly就有了ANR上报。那么ANR究竟是什么?近期非常多童鞋问起精神哥ANR的问题,那么这次就来聊一下,鸡爪怎么泡才好吃。噢不,是怎样高速定位ANR。ANR是什么简单说,通常就是App执行的时候,duang~卡住了。... 查看详情

源码时代java干货分享|springsecurity快速上手秘籍(代码片段)

前言至今Java能够如此的火爆Spring做出了很大的贡献,它的出现让Java程序的编写更为简单灵活,而Spring如今也形成了自己的生态圈,今天咱们探讨的是Spring旗下的一个款认证工具:SpringSecurity,如今认证框架主流“sh... 查看详情

半小时体验云原生:手把手教你在k8s上部署springboot应用——干货分享,建议收藏(代码片段)

你会不会对“云原生”很有兴趣,却不知道从何入手?本文会在window环境下,构建一套基于k8s的istio环境,并且通过skaffold完成镜像的构建和项目部署到集群环境。其实对于实验环境有限的朋友们,完全可以在... 查看详情

源码时代java干货分享|带你了解原型模式_prototype

原型模式概述在java中创建一个对象通过new是非常繁琐的,需要创建检查权限,做一些数据准备等等,因此也会销毁系统性能,那么想要快快速简单的创建出对象,我们可以通过原型模式实现,以某个对象... 查看详情

源码时代java干货分享|带你认识zookeeper分布式服务框架

本质它是一个分布式服务框架,是ApacheHadoop的一个子项目提供一种集中式信息存储服务,用于解决分布式应用中的一些数据管理问题简单来说zookeeper=文件系统+监听通知机制。特点数据存在内存中类似文件系统的树... 查看详情

手把手教你写!深圳java开发培训

容器化时代来了虚拟化技术已经走过了三个时代,没有容器化技术的演进就不会有Docker技术的诞生。虚拟化技术演进(1)物理机时代:多个应用程序可能会跑在一台机器上。(2)虚拟机时代:一台物... 查看详情

干货|手把手教你写一个串口调试助手(代码片段)

摘要:前段时间发布了一个用QT写的串口调试助手,很多小伙伴在后台留言要源码。其实网上有很多免费开源的用QT的上位机,大家搜一下就能找到,为了大家方便学习QT以及如何写一个上位机,今天推荐一下... 查看详情

bugly干货分享手把手教你逆向分析android程序(代码片段)

很多人写文章,喜欢把什么行业现状啊,研究现状啊什么的写了一大通,感觉好像在写毕业论文似的,我这不废话,先直接上几个图,感受一下。第一张图是在把代码注入到地图里面,启动首页的时候... 查看详情

源码时代前端干货分享|javascript编程优化,超强入门必备技能!

一、按强类型风格定义变量大家要知道js是一种弱类型语言,定义变量的时候不要太随意,大多数初学者定义变量时,只是声明变量而没有赋值,这样就显得太随意了声明变量的时候,一定要指明变量的类型,告诉解析器,你要... 查看详情

源码时代前端干货分享|swoole开启后无法访问问题

首先说一下环境,由于swoole只能在linux环境中使用,开发者通常使用的windows系统,所以我的swoole是安装在Cygwin环境中的。Cygwin可以在windows系统中运行,提供一个类似linux命令行的环境。同时,也虚拟机不同ÿ... 查看详情

源码时代前端干货分享|new关键字底层原理-执行过程

构造对象关键字:new众所周知,js是用new来产生对象的,那么今天我们就来说说js里new产生对象的构造原理。//人类构造函数functionPeople()People.prototype.index=1;//在原型上绑定一个index属性,值为1varp1=newPeople();//... 查看详情

万字干货:手把手教你做需求管理

通过这篇文章,总结自己在工作实践中需求管理的方法论——普拉姆方法。总结这个方法论的特点是,用最轻量化的投入,与他人协作,并管理需求,推动需求上线。这套方法论组合了项目管理、敏捷开发的知识,希望能对大家... 查看详情

源码时代ui干货分享|axure基础教程

主界面介绍知识重点一、页面的切换热区:就是可做交互的区域。动态面板:多种状态,可以反复切换。第一步:鼠标选择热区,鼠标左键拖拽到画布中,调整到合适位置,合适大小第二步:在图... 查看详情

源码时代软测干货分享|探索语境驱动测试七大原则

探索式测试的奠基人和积极实践者cemKaner和JamesBach都支持语境驱动测试。语境驱动测试的7条基本原则对于正确理解并应用探索式测试具有重要意义,本文将予以简单讨论。 原则1:任何实践的价值都取决于其语境(Con... 查看详情

源码时代软测干货分享|带你了解cgi支持模块

该模块定义了许多由Python编写的CGI脚本使用的实用程序。 21.2.1。介绍HTTP服务器调用CGI脚本,通常用于处理通过HTML<FORM>或<ISINDEX>元素提交的用户输入。 通常,CGI脚本存在于服务器的特殊cgi-bin目录中。HTTP服务器... 查看详情

android:手把手教你实现activity与fragment相互通信(含demo)

参考技术A下面,我将解答这两个问题。答:采用Bundle方式。具体Demo步骤如下:activcity_2_fragment.xmlfragment.xmlActivity2FragmentmFragment.java至此,Activity传递数据到Fragment讲解完毕。activity_main.xmlfragment.xmlICallBack.javamFragment.javaMain_Activity.jav... 查看详情

干货手把手教你如何使用charles抓包

一、为什么使用charles前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到。很多时候都是如此,如果一个方案不行,... 查看详情

手把手教你从java8升级到java11

 点击上方 终端研发部,选择 设为星标每天9:30点,干货准时奉上!来源 | blog.csdn.net/weixin_39901203/article/details/110507366原文 | blog.codefx.org/java/java-11-migration-guide/一些背景在背景知识,我们会讨论一些关于新的JDKR... 查看详情