广告
返回顶部
首页 > 资讯 > 后端开发 > Python >springboot 同时启用http/https的配置方法
  • 211
分享到

springboot 同时启用http/https的配置方法

2024-04-02 19:04:59 211人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

1. 启用https 修改配置 application.yml server: # port: 80 port: 443 ssl: enabled: true

1. 启用https

修改配置

application.yml


server:
# port: 80
  port: 443
  ssl:
    enabled: true
    key-store: /key_store.jks
    key-store-passWord: key_store_pwd

2. 添加Http协议连接器

增加JAVA配置


@Bean
public ServletWEBServerFactory servletWebServerFactory() {
    TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
    Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
    connector.setPort(80);
    tomcat.addAdditionalTomcatConnectors(connector);
    return tomcat;
}

扩展知识点:SpringBoot如何配置,同时支持https和http

使用jdk自带的keytools创建证书


keytool -genkey -alias tomcat -keyalg RSA -keystore ./server.keystore

按照提示完成操作

输入密钥库口令:123456
再次输入新口令:123456
您的名字与姓氏是什么?
  [Unknown]:  kaibowang
您的组织单位名称是什么?
  [Unknown]:  yuxuelian
您的组织名称是什么?
  [Unknown]:  yuxuelian
您所在的城市或区域名称是什么?
  [Unknown]:  chengdu
您所在的省/市/自治区名称是什么?
  [Unknown]:  chengdushi
该单位的双字母国家/地区代码是什么?
  [Unknown]:  china
CN=kaibowang, OU=yuxuelian, O=yuxuelian, L=chengdu, ST=chengdushi, C=china是否正确?
  [否]:  y

输入 <tomcat> 的密钥口令
        (如果和密钥库口令相同, 按回车):
再次输入新口令:

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -imporTKEystore -srckeystore C:\Users\Administrator\.keystore -destkeystore C:\Users\Administrator\.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

创建完成后,可在用户根目录查看生成的keystore文件

将生成的keystore文件复制到项目的根目录下

keystore放在根目录下

在application.yml中添加配置


server:
  port: 443
  ssl:
    key-store: server.keystore
    key-store-password: 生成server.keystore时输入的密码
    key-alias: tomcat
    key-store-type: JKS

在application启动文件中添加配置


package com.cisdi.info.simple;

import org.apache.catalina.connector.Connector;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;



@SpringBootApplication(scanBasePackages = {"com.cisdi.info.simple.*"}, exclude = {SecurityAutoConfiguration.class})
@EntityScan("com.cisdi.info.simple.*")
@EnableDiscoveryClient(autoReGISter = false)
public class Application {

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

    //配置http
    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
         return tomcat;
    }

    
    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NIOProtocol");
        connector.setPort(8080);
        return connector;
    }

}

完成配置

以上就是springboot 同时启用http/https的配置方法的详细内容,更多关于springboot启用http/https的资料请关注编程网其它相关文章!

--结束END--

本文标题: springboot 同时启用http/https的配置方法

本文链接: https://www.lsjlt.com/news/125894.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作