https改造方法

前言

    出于安全方面的因素,公司需要将http加固成https,这里就简单总结下在weblogic、apache、nginx、tomcat中间件中https的改造的经历。


生成证书

    证书获取有两种方式,一种是向CA机构申请,但价格比较贵。另外一种就是自建证书,缺点是访问时会提示不安全连接。这里介绍自建证书的方法(官方申请的方式可以跳过此步骤)

使用JDK中的keytool工具生成证书

# 生成私钥和证书
keytool -genkeypair -alias serverkey -keypass 123 -storepass 123 -keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore -dname "CN=姓名,OU=组织单位名,O=组织名,L=城市区域名,ST=省/市/自治区名,C=国家/地区代码"
# 生成jks证书
keytool -genkey -keystore /path/weblogic.jks -alias weblogic -keyalg RSA -keypass pssword -validity 365
# 生成DER编码格式cer证书
keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass 123
# 生成PEM编码格式cer证书
keytool -exportcert -keystore server.keystore -rfc -file server.cer -alias serverkey -storepass 123

配置证书

  • weblogic
  1. 在weblogic的console后台依次进入【环境】【服务器】【一般信息】页,把【启用 SSL 监听端口】勾选,并在【SSL 监听端口】填写端口
  2. 进入【密钥库】页,把【密钥库】更改为:定制身份和 Java 标准信任,【定制身份密钥库】填写jks的路径,【定制身份密钥库类型】填写jks,【定制身份密钥库密码短语】【确认定制身份密钥库密码短语】填写证书生成时的密码
  3. 进入【SSL】页,【身份和信任位置】更改为密钥库,【私有密钥别名】填写证书的alias名,【私有密钥密码短语】【确认私有密钥密码短语】填写证书生成时的密码
  4. 保存后无需重启就能生效
  • Apache

通过修改httpd中的配置:ssl.conf实现https改造,但事先必须安装SSL模块yum install mod_ssl

<VirtualHost *:6666>
	#网页文件路径
    DocumentRoot /path/xxx
    #启用SSL功能
    SSLEngine on
    #填写证书文件路径
    SSLCertificateFile /path/xxx.crt
    #填写私钥文件路径
    SSLCertificateKeyFile /path/xxx.key
</VirtualHost>
  • Nginx

通过修改nginx中的配置:nginx.conf实现https改造,但事先必须安装SSL模块./configure --with-http_ssl_module

http{
	server {
	    # 服务器端口使用443,开启ssl
	    listen       443 ssl;
	    # 域名,多个以空格分开
	    server_name  www.xxx.com;
	    
	    ssl on;
	    # ssl证书地址
	    ssl_certificate     /usr/local/nginx/cert/xxx.pem;  # pem文件的路径
	    ssl_certificate_key  /usr/local/nginx/cert/xxx.key; # key文件的路径
	    
	    # ssl验证相关配置
	    ssl_session_timeout  5m;    #缓存有效期
	    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密算法
	    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
	    ssl_prefer_server_ciphers on; #使用服务器端的首选算法
	
	    location / {
	        root   html;
	        index  index.html index.htm;
	    }
	}
	# 将 http 重定向 https。
	server {
	    listen       80;
	    server_name  www.xxx.com;
	    rewrite ^/(.*) https://${server_name}$1 permanent;
	}
}
  • Tomcat

通过修改tomcat中的配置:server.xml实现https改造

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="xxx.jks" keystorePass="xxx" clientAuth="false" sslProtocol="TLS" />
<!--改写重定向端口redirectPort-->
<Connector port="80" protocol="HTTP/1.1" maxThreads="600" connectionTimeout="20000" redirectPort="443" />
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值