nginx 配置 ssl 双向证书

Posted reboot51

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 配置 ssl 双向证书相关的知识,希望对你有一定的参考价值。

CA 根证书制作

# 创建 CA 私钥
openssl genrsa -out ca.key 2048

#制作 CA 根证书(公钥)
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

注意:
CA 证书中的 Common Name 不能与 server 和 client 证书中的 Common Name 相同

制作证书

# 创建私钥
openssl genrsa -out server.pem 1024
openssl rsa -in server.pem -out server.key

# 生成签发请求
openssl req -new -key server.pem -out server.csr

# 使用 CA 证书进行签发
openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt

# 验证签发证书是否正确
openssl verify -CAfile ca.crt server.crt

# 制作 p12 证书(导入浏览器)
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

客户端证书创建方式与服务器证书创建方式相同

nginx 配置

ssl on;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
ssl_client_certificate ssl/ca.crt;
ssl_verify_client on;

使用

curl --key client.key --cert client.crt -XGET "https://localhost:11443" -k -v

 


以上是关于nginx 配置 ssl 双向证书的主要内容,如果未能解决你的问题,请参考以下文章

nginx 配置 ssl 双向证书

nginx和iis下的SSL双向认证教程【ca 自签 ssl证书】

NGINX 配置 SSL 双向认证

Nginx配置客户端SSL双向认证

nginx_ssl证书双向认证以及负载均衡配置

(备忘)Nginx配置客户端SSL双向认证