源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

nginx配置ssl双向验证的方法

  • 时间:2021-01-16 03:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:nginx配置ssl双向验证的方法
[b]1、安装nginx略[/b] [url=http://www.1sucai.cn/article/49479.htm]http://www.1sucai.cn/article/49479.htm[/url] [b]2、使用openssl实现证书中心 [/b]由于是使用openssl架设私有证书中心,因此要保证以下字段在证书中心的证书、服务端证书、客户端证书中都相同 Country Name State or Province Name Locality Name Organization Name Organizational Unit Name 编辑证书中心配置文件 vim /etc/pki/tls/openssl.cnf [ CA_default ] dir             = /etc/pki/CA certs           = $dir/certs            # Where the issued certs are kept crl_dir         = $dir/crl              # Where the issued crl are kept database        = $dir/index.txt        # database index file. #unique_subject = no                    # Set to 'no' to allow creation of                                        # several ctificates with same subject. new_certs_dir   = $dir/newcerts         # default place for new certs. certificate     = $dir/cacert.pem       # The CA certificate serial          = $dir/serial           # The current serial number crlnumber       = $dir/crlnumber        # the current crl number                                        # must be commented out to leave a V1 CRL crl             = $dir/crl.pem          # The current CRL private_key     = $dir/private/cakey.pem# The private key RANDFILE        = $dir/private/.rand    # private random number file [ req_distinguished_name ] countryName                     = Country Name(2 letter code) countryName_default             = CN countryName_min                 = 2 countryName_max                 = 2 stateOrProvinceName             = State or Province Name (full name) stateOrProvinceName_default     = FJ localityName                    = Locality Name (eg, city) localityName_default            = FZ 0.organizationName              = Organization Name (eg, company) 0.organizationName_default      = zdz organizationalUnitName          = Organizational Unit Name (eg, section) organizationalUnitName_default  = zdz 创建证书私钥 cd /etc/pki/CA/private (umask 077;openssl genrsa -out cakey.pem 2048) 生成自签证书 cd /etc/pki/CA/ openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days=3655 [b]3、创建服务器证书 [/b]mkdir /usr/local/nginx/ssl cd /usr/local/nginx/ssl (umask 077;openssl genrsa -out nginx.key 1024) openssl req -new -key nginx.key -out nginx.csr openssl ca -in nginx.csr -out nginx.crt -days=3650 [b]4、创建客户端浏览器证书 [/b](umask 077;openssl genrsa -out client.key 1024) openssl req -new -key client.key -out client.csr openssl ca -in client.csr -out client.crt -days=3650 将文本格式的证书转换成可以导入浏览器的证书 openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12   [b]5、配置nginx服务器验证 [/b]vim /usr/local/nginx/conf/nginx.conf ssl on; ssl_certificate         /usr/local/nginx/ssl/nginx.crt; ssl_certificate_key     /usr/local/nginx/ssl/nginx.key; ssl_client_certificate  /usr/local/nginx/ssl/cacert.pem; ssl_session_timeout     5m; #ssl_verify_client       on;                         服务器验证客户端,暂时不开启,让没有证书的客户端可以访问,先完成单向验证 ssl_protocols           SSLv2 SSLv3 TLSv1; [img]http://files.jb51.net/file_images/article/201411/2014110300102411.png[/img] 点击“我已充分了解可能的风险” [img]http://files.jb51.net/file_images/article/201411/2014110300102412.png[/img] 点击“添加例外” [img]http://files.jb51.net/file_images/article/201411/2014110300102413.png[/img] 点击“确认安全例外” [img]http://files.jb51.net/file_images/article/201411/2014110300102414.png[/img]   [b]6、配置双向验证 [/b]nginx配置开启ssl_verify_client       on;     在客户端浏览器没有安装证书的情况下访问 [img]http://files.jb51.net/file_images/article/201411/2014110300102415.png[/img] 在客户端浏览器导入证书 [img]http://files.jb51.net/file_images/article/201411/2014110300102416.png[/img] 将在Linux服务器上生成的客户端证书下载到windows上 [img]http://files.jb51.net/file_images/article/201411/2014110300102417.png[/img] 打开火狐浏览器的高级选项卡 [img]http://files.jb51.net/file_images/article/201411/2014110300102418.png[/img] 在证书管理器中的您的证书中点击导入 [img]http://files.jb51.net/file_images/article/201411/2014110300102419.png[/img] 选择证书并导入 [img]http://files.jb51.net/file_images/article/201411/2014110300102420.png[/img] 再次刷新网页,弹出“使用确认”点击确定,就实现了双向验证
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部