java如何配置https
配置 HTTPS 的步骤
生成或获取 SSL/TLS 证书
使用工具如 OpenSSL 生成自签名证书,或从证书颁发机构(CA)购买正式证书。自签名证书生成命令示例:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
此命令会生成 key.pem(私钥)和 cert.pem(证书)文件。
配置 Java 应用服务器
以 Tomcat 为例,在 server.xml 中配置 HTTPS 连接器:
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/path/to/keystore.jks"
keystorePass="yourpassword"
clientAuth="false"
sslProtocol="TLS" />
需将证书和私钥导入 Java Keystore(JKS)文件:
keytool -importcert -file cert.pem -keystore keystore.jks -alias "mycert"
Spring Boot 配置
在 application.properties 或 application.yml 中启用 HTTPS:
server.port=8443
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=yourpassword
需将证书转换为 PKCS12 格式(Spring Boot 默认支持)。
验证和测试
启动应用后,通过浏览器访问 https://localhost:8443,确认证书有效性。自签名证书会显示安全警告,需手动信任。
强制 HTTP 重定向到 HTTPS
在 Spring Boot 中可通过配置 HttpSecurity 实现:

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.requiresChannel().anyRequest().requiresSecure();
}
}
注意事项
- 生产环境建议使用 CA 签发的证书(如 Let's Encrypt)。
- 定期更新证书以避免过期问题。
- 配置 HTTP/2 可提升 HTTPS 性能,需在服务器设置中启用。






