springboot配置SSL证书设置https协议访问的端口

本文介绍如何配置SSL证书,并实现HTTP自动重定向到HTTPS。通过将证书文件放入resources目录并设置YML配置文件,可以指定SSL证书的位置、密钥及类型。此外,还提供了一个无需修改的HttpToHttpsConfig配置类示例,用于实现所有HTTP请求自动跳转到HTTPS。

配置SSL证书需要证书文件 和 密钥

 

1. 将证书文件移动到resources目录下

 

2. 在yml配置文件中配置如下:

server:
  port: 443 #服务端口
  ssl:
    key-store: classpath:4815826_wechat.leyishang.cn.pfx  #SSL证书存放的位置
    key-store-password: TzkIG1k1   #密钥
    key-store-type: PKCS12   #证书的类型
  my:
    httpPort: 9000
    httpsPort: 443

效果图参考如下:

 

 

3. 创建一个配置文件 HttpToHttpsConfig.java

该配置的主要作用就是将所有的http请求重定向到https上进行操作,也就是说即使你访问http://127.0.0.1:80  也会重定向到 https://127.0.0.1:80 。

这里说一个题外话(https的默认端口是443端口)

 

HttpToHttpsConfig配置类代码如下(无序改动):
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
imp
Spring Boot应用中配置阿里云SSL证书,主要是通过修改`application.properties`或`application.yml`文件来实现对HTTPS的支持。以下是具体的配置步骤相关参数说明: 1. **获取SSL证书文件** 在阿里云控制台申请并下载SSL证书。通常会得到两个文件:`.key`(私钥文件)`.pem`(证书文件)。将这两个文件放置到项目的资源目录下,例如`src/main/resources/ssl/`。 2. **配置`application.properties`文件** 配置HTTPS协议相关的参数,启用SSL支持: ```properties server.port=443 server.ssl.key-store=classpath:ssl/your_certificate.pem server.ssl.key-store-password=your_password server.ssl.key-store-type=PKCS12 server.ssl.key-alias=tomcat ``` - `server.port`: 指定HTTPS端口,一般为443。 - `server.ssl.key-store`: SSL证书的路径,这里使用的是PEM格式证书。 - `server.ssl.key-store-password`: 证书密码,如果证书没有密码保护,可以留空。 - `server.ssl.key-store-type`: 证书存储类型,通常使用`PKCS12`。 - `server.ssl.key-alias`: 证书别名,默认值为`tomcat`,可以根据需要更改[^1]。 3. **配置`application.yml`文件(可选)** 如果项目使用YAML格式进行配置,可以在`application.yml`中添加以下内容: ```yaml server: port: 443 ssl: key-store: classpath:ssl/your_certificate.pem key-store-password: your_password key-store-type: PKCS12 key-alias: tomcat ``` 4. **强制HTTPS重定向(可选)** 如果希望所有HTTP请求都自动重定向到HTTPS,可以通过配置嵌入式Servlet容器的方式实现。在Spring Boot中,可以通过编写一个配置类来完成: ```java @Configuration public class HttpsRedirectConfig { @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() { return factory -> factory.setPort(80); // 设置HTTP端口 } @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory factory = 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); } }; return factory; } } ``` 5. **测试HTTPS访问** 启动Spring Boot应用后,通过浏览器访问`https://localhost`来验证HTTPS是否配置成功。如果证书是自签名的,可能会出现浏览器警告,可以忽略或者安装根证书以消除警告。 6. **注意事项** - 确保防火墙或安全组规则允许443端口的流量。 - 如果部署在云服务器上,可能需要配置负载均衡器或反向代理(如Nginx)来处理SSL终止。 - 定期更新证书以避免过期导致的服务中断[^1]。 ###
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ark方舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值