ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Springboot与微信小程序

2021-05-17 11:57:44  阅读:176  来源: 互联网

标签:Springboot tomcat 证书 微信 程序 server connector ssl https


Springboot与微信小程序

做了一个微信小程序的项目,后端使用springboot,部署时需要部署ssl证书前后端之间使用https请求

1. 申请ssl证书

申请链接:https://www.trustauth.cn/marketing/freessl.html

申请后使用fullchain.crt来完成以下步骤。


2. 合成证书
因为springboot内置的有tomcat,所以ssl证书部署选择tomcat方式,因此需要合成jks证书

合成证书链接:https://www.trustauth.cn/SSLTool/tool/export_keystore.jsp

在这里插入图片描述


3. Tomcat上部署ssl证书

复制已正确合成的www.AAA.jks文件到Tomcat安装目录下的conf目录,使用文本编辑器打开conf目录下的server.xml文件(操作前备份server.xml,以备错误时恢复)找到并修改以下内容,我使用的是8.5的tomcat,不同版本的tomcat配置不太相同

<Connector port="9293" SSLEnabled="true" maxThreads="150" protocol="org.apache.coyote.http11.Http11NioProtocol">

<SSLHostConfig>

<Certificate type="RSA" certificateKeystorePassword="1234567890" certificateKeystoreFile="conf/www.AAA.jks"/>

</SSLHostConfig>

</Connector>

最后保存该配置文件,然后重启Tomcat后再次访问即可。

默认的SSL访问端口号为443,如果使用其他端口号,则您需要使https://域名:port的方式来访问自己的站点,防火墙要开放相应的端口。


4. springboot配置https
将证书放置在resources文件夹下,书写相应的配置。

server.port=9292
server.ssl.enabled=true
server.ssl.key-store=classpath:www.AAA.jks
server.ssl.key-store-type=JKS
server.ssl.key-store-password=1234567890

5. http转https

在启动类中写

@Bean
    public TomcatServletWebServerFactory servletContainer() {
        //		TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { ... }

        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(connector());
        return tomcat;
    }

    @Bean
    public Connector connector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(httpPort);
        connector.setSecure(false);
        connector.setRedirectPort(httpsPort);
        return connector;
    }

标签:Springboot,tomcat,证书,微信,程序,server,connector,ssl,https
来源: https://blog.csdn.net/a_lone_girl/article/details/116917317

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有