zoukankan      html  css  js  c++  java
  • nginx 1.12 HTTPS双向认证配置

    使用openssl生成相关证书:
    #生成CA私钥,私钥会被加密,需要设置密码
    openssl genrsa -aes256 -out ca.key 2048
    #生成CA证书签名请求,需要输入CA私钥密码,并按提示输入以下信息:Country Name、State or Province Name、Locality Name、Organization Name、Organizational Unit Name、Common Name
    openssl req -new -key ca.key -out ca.csr
    #自签名生成CA证书,需要输入CA私钥密码
    openssl x509 -req -days 36500 -sha1 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.crt
     
    #生成服务端私钥,私钥会被加密,需要设置密码
    openssl genrsa -aes256 -out server.key 2048
    #解密服务端私钥,需要输入服务端私钥密码
    openssl rsa -in server.key -out server.key
    #生成服务端证书签名请求,并按提示输入以下信息:Country Name、State or Province Name、Locality Name、Organization Name、Organizational Unit Name、Common Name
    openssl req -new -key server.key -out server.csr
    #用CA私钥签名生成服务端证书,需要输入CA私钥密码
    openssl x509 -req -days 36500 -sha1 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.crt
     
    #生成客户端私钥,私钥会被加密,需要设置密码
    openssl genrsa -aes256 -out client.key 2048
    #解密客户端私钥,需要输入客户端私钥密码
    openssl rsa -in client.key -out client.key
    #生成客户端证书签名请求,并按提示输入以下信息:Country Name、State or Province Name、Locality Name、Organization Name、Organizational Unit Name、Common Name
    openssl req -new -key client.key -out client.csr
    #用CA私钥签名生成客户端证书,需要输入CA私钥密码
    openssl x509 -req -days 36500 -sha1 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.crt
    #导出客户端私钥和证书到p12证书,需要设置p12证书密码
    openssl pkcs12 -export -clcerts -inkey client.key -in client.crt -out client.p12
     
    配置示例:
    server {
    listen 80;
    listen 443 ssl;
    server_name localhost;
     
    keepalive_timeout 70;
     
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
    ssl_certificate /usr/local/nginx/ssl/server.crt;
    ssl_certificate_key /usr/local/nginx/ssl/server.key;
    ssl_client_certificate /usr/local/nginx/ssl/ca.crt;
    ssl_verify_client on;
     
  • 相关阅读:
    想学数据库的进来领课程了哈.....
    天轰穿C# vs2010 04面向对象的编程之密封【原创】
    天轰穿C#vs2010 04面向对象的编程之访问数组 【原创】
    天轰穿C#vs201004面向对象的编程之foreach循环【原创】
    天轰穿C# vs2010 04面向对象的编程之继承【原创】
    【IT职业规划】天轰穿教你如何选择和学习编程
    天轰穿C# vs2010 04面向对象的编程之简单数组 【原创】
    关闭任务计划程序前您必须关闭所有会话框的解决方法
    用树莓派实现会说话的汤姆猫
    备忘录:关于.net程序连接Oracle数据库
  • 原文地址:https://www.cnblogs.com/gjb724332682/p/8610714.html
Copyright © 2011-2022 走看看