Nginx配置 ssl

生成证书

生成CA证书。目前不使用第三方权威机构的CA来认证,自己充当CA的角色。

# 创建私钥:
openssl genrsa -out root/root-key.pem 1024 
# 创建证书请求:
openssl req -new -out root/root-req.csr -key root/root-key.pem
# 自签署证书:
openssl x509 -req -in root/root-req.csr -out root/root-cert.pem -signkey root/root-key.pem -days 3650 
# 将证书导出成浏览器支持的.p12格式:
openssl pkcs12 -export -clcerts -in root/root-cert.pem -inkey root/root-key.pem -out root/root.p12

生成server证书

# 创建私钥:
openssl genrsa -out server/server-key.pem 1024 
# 创建证书请求:
openssl req -new -out server/server-req.csr -key server/server-key.pem 
# 自签署证书:
openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA root/root-cert.pem -CAkey root/root-key.pem -CAcreateserial -days 3650 
# 将证书导出成浏览器支持的.p12格式:
openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12

生成client证书

# 创建私钥:
openssl genrsa -out client/client-key.pem 1024 
# 创建证书请求:
openssl req -new -out client/client-req.csr -key client/client-key.pem 
# 自签署证书:
openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA root/root-cert.pem -CAkey root/root-key.pem -CAcreateserial -days 3650 
# 将证书导出成浏览器支持的.p12格式:
openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12

根据root证书生成jks文件

进入root目录
keytool -import -v -trustcacerts -storepass password -alias root -file root-cert.pem -keystore root.jks

使用nginx进行验证

server {
    # nginx 1.15 以上版本使用以下这种方式不要使用 ssl on
    listen 443 ssl;

    # 开启ssl nginx 1.15 以上版本不推荐
    #ssl on;

    # name                         
    server_name localhost;

    # 资源配置
    root html;
    index index.html index.htm;

    # 证书配置
    ssl_certificate  /PATH/TO/test.com.crt;    #服务器证书位置
    ssl_certificate_key /PATH/TO/test.com.key;  #服务器私钥
    ssl_client_certificate /home/zhangyong/key/ca.crt;     #CA证书用于验证客户端证书的合法性

    # 开启对客户端的验证,也就是双向验证
    ssl_verify_client       on;

    #session有效期,5分钟
    ssl_session_timeout 5m;                        

    # 协议版本
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    #加密算法
    ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_prefer_server_ciphers on;

    location / {
        root   html;
        index  index.html index.htm;
    }     
}

Nginx配置https双向认证

生成双向证书-tomcat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值