ssl证书,springboot部署https项目

在项目的开发中,经常会用到https协议,比如小程序上线。我们在取得ssl证书后需要部署到springboot项目中需要有一下步骤。

首页在部署https项目是需要有自己的域名,并在阿里云申请ssl证书。然后下载好tomcat证书放在springboot的资源文件目录中

 下载的证书默认为pfx文件和txt文件,放在如下位置,然后再资源文件中配置如下

这样就成功将ssl证书放到项目中了,但是想要完全让用户访问https还差一步,这也是很多人忽略的一步。

在springboot主启动类中设置请求转发,设置一起虚拟的http端口8080转发到https端口8000才能实现https的访问, 代码大家随意cv,可根据自己的需求修改。

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
        return tomcat;
    }
    private Connector createHTTPConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        //同时启用http(8080)、https(8443)两个端口
        connector.setScheme("http");
        connector.setSecure(false);
        connector.setPort(8080);
        connector.setRedirectPort(8000);
        return connector;

    }

然后启动代码就可以访问了,这里我就放上我服务器中的项目给大家参考。

如图,网站出现了一把小锁,是https部署成功的标志,此外,由于http与https的协议不同,如想了解nginx部署ssl的请参考我的另一篇博客。

nginx部署ssl转发https协议请求_朴朴爱吃肉肉的博客-优快云博客

### 如何在金蝶天燕环境下配置SSL部署SpringBoot项目 为了实现Spring Boot项目在金蝶天燕环境下的SSL配置,需要综合考虑应用服务器的特性以及Spring Boot项目的结构特点。以下是详细的说明: #### 1. **金蝶Apusic V10容器适配** 对于金蝶Apusic V10容器的支持,在Spring Boot多模块项目中,通常需要移除默认嵌入式的Tomcat容器并替换为外部容器支持的功能。这可以通过以下方式完成: - 使用`@Profile("xinchuang")`定义特定于国产化环境(如金蝶天燕)的配置。 - 覆盖`configure`方法来指定应用程序入口类。 具体代码如下所示[^1]: ```java @Override @Profile("xinchuang") protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(MyApplication.class); } @Bean @Profile("xinchuang") public ServletRegistrationBean dispatcherRegistration(DispatcherServlet dispatcherServlet) { return new ServletRegistrationBean(dispatcherServlet, "/*"); } ``` 这些设置确保了Spring Boot能够正确运行在金蝶Apusic环境中而不依赖内置的Tomcat容器。 #### 2. **Java EE规范与JDK/Tomcat版本兼容性** 考虑到不同版本之间的兼容性问题,需注意所使用的Java EE标准及其对应的基础技术栈版本。例如,如果目标平台遵循的是Java EE 7,则至少应采用JDK 7及以上版本,并匹配相应的中间件组件版本表[^2]。 | Java EE 版本 | JDK 最低需求 | Tomcat 对应系列 | |--------------|-------------|------------------| | J2EE 1.4 | JDK 1.4 | Tomcat 5.x | | Java EE 5 | JDK 5 | Tomcat 6.x | | Java EE 6 | JDK 6 | Tomcat 7.x | | Java EE 7 | JDK 7 | Tomcat 8.x | | Java EE 8 | JDK 8 | Tomcat 9.x | 因此,在实际操作前确认当前开发环境满足上述条件是非常重要的一步。 #### 3. **配置SSL证书** 针对SSL的具体实施步骤可以分为以下几个方面展开讨论: ##### (a). 导入CA签发的正式证书文件至JKS密钥库 通过命令行工具keytool导入已有的`.crt/.pem`格式公钥证书到Java Keystore(JKS),形成受信任的身份验证链路。 执行样例脚本如下: ```bash keytool -importcert -trustcacerts -file yourdomain.crt \ -keystore apusic.jks -storepass changeit -alias myserver ``` 此处需要注意密码参数(`changeit`)应当依据实际情况调整;同时别名(alias name)`myserver`也建议保持唯一性和可读性以便后续维护管理方便查阅。 ##### (b). 修改web.xml或application.properties中的安全上下文路径声明 为了让Web服务端口监听HTTPS请求而非HTTP明文传输模式,默认情况下可能还需要额外修改一些XML描述符或者属性文件里的相关内容项。 比如更新`src/main/resources/application.properties`里新增字段指示启用加密通信协议选项: ```properties server.port=8443 server.ssl.key-store=classpath:apusic.jks server.ssl.key-store-password=changeit server.ssl.key-alias=myserver ``` 以上设定即指定了加载自定义创建好的JKS存储位置、访问权限字符串以及关联对象标签名称等必要信息用于初始化TLS握手过程。 #### 总结 综上所述,成功地将基于Spring Boot框架构建的应用迁移到像金蝶这样的第三方企业级解决方案平台上涉及到了多个层面的技术考量因素——从基础架构选型直至高级别的网络安全防护措施均不可或缺。只有当所有环节都妥善处理完毕之后才能真正意义上达成预期效果。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值