jetty nginx 配置https

本文详细介绍了如何使用Jetty配置HTTPS,并通过示例代码展示了关键步骤。此外,还提供了Nginx配置SSL的过程,包括生成密钥、证书请求及配置等。注意证书导入JAVA环境的方法和常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jetty作为http长连接的轻量级容器,越来越受欢迎,配置https折腾一天特此记录。


#生成证书文件 
keytool -genkey -alias xgjkey -keystore xgjkeystore -keypass xgjkeystorepass -storepass xgjkeystorepass -keyalg RSA -validity 3650  -dname "cn=xgj, ou=mengying, l=SZ, S=JS, o=Lively, c=CN"


#导出证书文件
keytool -alias xgjkey -exportcert -keystore xgjkeystore -file xgj.cer


#导入cer 至JAVA环境
keytool -keystore xgjkeystore -import -alias xgjkey -file C:\Users\lw\xgj.cer -trustcacerts


jetty 嵌入https的代码网上有一堆,大致如下:

 

			SslContextFactory sslContextFactory = new SslContextFactory(keyStorePath);

			sslContextFactory.setKeyStorePassword("xgjkeystorepass");
			sslContextFactory.setKeyManagerPassword("xgjkeystorepass");
			
			ServerConnector sslConnector = new ServerConnector(this.server, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1
					.toString()), new HttpConnectionFactory(httpConfig));

			sslConnector.setPort(sslPort);
			sslConnector.setAcceptQueueSize(100);
			sslConnector.setIdleTimeout(500000);


注意:

 

1.配置https必须把证书导入到JAVA环境,linux环境最好是重新登录后启动应用。

2.不要配置sslContextFactory.setIncludeCipherSuites 加密方式,因为拷贝网上代码,导致无法访问,也无报错。

3.证书在chrom浏览器中不信任,需要手动确认。

 

nginx 配置ssl

 

# 生成一个RSA密钥 
openssl genrsa -des3 -out xgj.key 1024
 
# 拷贝一个不需要输入密码的密钥文件
openssl rsa -in xgj.key -out xgj_nopass.key
 
# 生成一个证书请求
$ openssl req -new -key xgj.key -out xgj.csr
 
# 自己签发证书
$ openssl x509 -req -days 3650 -in xgj.csr -signkey xgj.key -out xgj.crt

 

 

配置ssl.conf

    ssl                  on;
    ssl_certificate      /etc/nginx/conf.d/xgj.crt;
    ssl_certificate_key  /etc/nginx/conf.d/xgj_nopass.key;


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值