1.申请证书

这里我选择的是阿里云的个人免费的证书

因为使用的是内置的Tomcat,所以下载Tomcat类型的

2.配置项目

将证书XXXX.pfx文件放到项目的resources目录,接着修改application.yml文件

server:  port: 443  ssl:    key-store: classpath:XXXX.pfx    key-store-password: 证书密码    keyStoreType: PKCS12

接着修改启动类,添加如下内容,接着启动项目

import org.apache.catalina.Context;import org.apache.catalina.connector.Connector;import org.apache.tomcat.util.descriptor.web.SecurityCollection;import org.apache.tomcat.util.descriptor.web.SecurityConstraint;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.context.annotation.Bean;import org.mybatis.spring.annotation.MapperScan;import org.springframework.scheduling.annotation.EnableAsync;import org.springframework.scheduling.annotation.EnableScheduling;import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplicationpublic class MxemApplication implements EmbeddedServletContainerCustomizer {    //拦截所有请求    @Bean    public EmbeddedServletContainerFactory servletContainer() {        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {            @Override            protected void postProcessContext(Context context) {                SecurityConstraint constraint = new SecurityConstraint();                constraint.setUserConstraint("CONFIDENTIAL");                SecurityCollection collection = new SecurityCollection();                collection.addPattern("/*");                constraint.addCollection(collection);                context.addConstraint(constraint);            }        };        tomcat.addAdditionalTomcatConnectors(httpConnector());        return tomcat;    }    //配置http转https    @Bean    public Connector httpConnector() {        Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);        connector.setScheme("http");        //Connector监听的http的端口号        connector.setPort(80);        connector.setSecure(false);        //监听到http的端口号后转向到的https的端口号        connector.setRedirectPort(443);        return connector;    }    //这里设置默认端口为443,即https的,如果这里不设置,会https和http争夺80端口    @Override    public void customize(ConfigurableEmbeddedServletContainer container) {        container.setPort(443);    }}

3.可能出现的问题

可能会出现下面的错误

Address already in use: bind

解决办法

以windows系统为例,查看当前端口被哪个进程占用了(进入到CMD中)

netstat -ano|findstr "443"

然后找到进程ID,使用任务管理器结束此进程即可。

如果对你有帮助,还请点个赞,点个关注

apache配置证书后 tomcat无法访问_给你的项目配置个https吧相关推荐

  1. 服务器更换ssl证书后,手机访问微信小程序异常

    文章目录 前言 一.现象 二.尝试的各种解决办法 1.手机上删除小程序,重新搜索进入 2.重启服务器 3.检查小程序服务器端代码是否有与ssl相关的配置写死的情况 4.网站首页代码里面的http均替换 ...

  2. python 动态变量 excel 配置_python 实现众多excel表格中关键数据追加项目配置库台账.xlsx...

    网上已经有很多这类的文章了,今天写这个就算是对今天的写的这个脚本的一个巩固和说明吧,话说同事每个月末都要从大量的excel表格中导出一点点数据并输出到另一个表格中,所以想啊,写个脚本自动化一点吧,不然 ...

  3. [SpringBoot2]数据访问_数据库场景的自动配置分析和整合测试

    数据访问 1.导入jdbc场景 <dependency><groupId>org.springframework.boot</groupId><artifac ...

  4. tomact配置好ssl证书后访问不到tomact_服务器上配置HTTPS的操作方法!

    数据信息安全得到更多人的重视,尤其在网站传输敏感数据时,更应该保证信息的安全性.而如今保护数据最有效的方式之一,就是启用HTTPS.这种新型加密模式的安全度高,黑客很难从中拦截到数据. 服务器上配置H ...

  5. springboot2 虚拟路径设置_转载—springboot配置虚拟路径以外部访问

    配置虚拟路径 供外部访问图片 视频等文件 1.配置application.properties ##配置虚拟路径映射 spring.resources.static-locations=classpa ...

  6. tomcat禁止访问路径与文件、错误页面跳转配置

    tomcat禁止访问文件与文件目录 最近项目扫描的时候遇到一个问题,需要在tomcat中限制对包含项目信息文件的访问,在使用eclipse写项目是,会生成一个.project文件,这个文件里面包含了项 ...

  7. mybatis多数据源配置_随笔:springboot+mybatis 配置双数据源

    山石彦 | 作者 urlify.cn/vQzIne | 来源 最近工作中有用到双数据源,一个项目(中台)中需要操作两个不同的数据库.当时考虑到了两种方式, 1.通过http请求访问(A项目访问d1数据 ...

  8. java tomcat源码_详解Tomcat系列(一)-从源码分析Tomcat的启动

    在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来. 由于篇幅的原因, 很难把Tomcat所有的知 ...

  9. CentOS7网络配置,安装jdk,tomcat和mysql全过程

    CentOS7网络配置,安装jdk,tomcat和mysql全过程 1.CentOS7网络配置 安装CentOS7要在VMware虚拟机上进行,设置密码后登陆进来,可以看见右下角有下面几个图标,右击网 ...

最新文章

  1. muduo之TimerQueue
  2. Codeforces 1027F. Session in BSU
  3. 如何用WordPress搭建自己的博客(转)
  4. 【Python】七段数码管绘制日期年月日
  5. OpenCV使用神经网络检测颜色检查器
  6. P2782 友好城市
  7. php2588,搞清楚一下必胜2588z和2582z哪个好点?都有些什么区别?内幕评测分析
  8. 使用freemarker模板生成word文档
  9. css的3d注意事项
  10. MX250和MX350哪个好一点,区别和差距在哪里?
  11. 如何通过PXE实现一键自动化安装操作系统
  12. jmeter无法启动的解决办法
  13. js中的Math对象及属性
  14. ssh Permission denied (publickey,password).
  15. ​​​​​​​国民经济行业分类(GB/T 4754—2017)
  16. Eclipse创建带JavaBean的JSP程序
  17. 阿里云的这群疯子(转载)
  18. String类的常用方法总结
  19. 使用Swagger生成 API 文档(go语言示例)
  20. kubernetes kind类型之Deployment

热门文章

  1. ZT 为什么Java中继承多数是有害的?
  2. rails 构建 API
  3. (面试题)删除在另一个字符串中出现的字符
  4. android 拨打紧急号码,通话时开启免提功能实现
  5. 恶补各种知识(操作系统篇)
  6. Day38:进程与线程
  7. html的!DOCTYPE标签初窥
  8. OPW-00001: Unable to open password-file
  9. Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
  10. 在网页中插入百度地图(实例)