关于网站添加SSL安全证书

本文档详细介绍了在服务器上配置HTTPS证书以解决网站安全性问题的步骤,包括下载并放置证书,配置Spring Boot项目以使用SSL,开启443端口,以及设置HTTP自动跳转至HTTPS。在实施过程中,可能会遇到证书名称过长、路径不正确等错误,本文给出了相应的解决方案。
摘要由CSDN通过智能技术生成

因为网站需要调用摄像头,在本地测试的时候是可以在笔记本的chrome浏览器弹出询问窗口,打开摄像头,可是把项目布置到服务器上发现打不开,经查找,可能是网站的安全性问题,所以尝试加上SSL证书。

第一步:
购买证书材料,如果只需要一个域名就可以的直接选上面的就可以
第二步:
选择服务器类型,这里我选择的是tomcat
第三步:
下载选择的证书,并放入项目里面

server:
  port: 443
  ssl:
    key-store: classpath:static/ssl.pfx
    key-store-password: RlvKJ6jC
    key-store-type: PKCS12
    enabled: true

第四步:开启服务器上的443端口
第五步:如果需要http自动变成https,需要在项目启动类里面加上

@Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @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;
    }


    private Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //Connector监听的http的端口号
        connector.setPort(80);
        connector.setSecure(false);
        //监听到http的端口号后转向到的https的端口号
        connector.setRedirectPort(443);
        return connector;
    }

遇到的坑:
遇到这个报错Unable to Start embedded TomCat,可能原因:
1.证书的名字太长也会报错,索性直接改成ssl了
2.证书放置的路径,一开始直接放到resource下面,没有读到。最后放到static下面才成功

遇到due to multiple ServletWebServerFactory beans,可能原因:
有两个servlet启动,全局搜索一下,肯定在哪边也配置了TomcatServletWebServerFactory ,把上面的代码放到以前就有的配置中即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值