怎么在Nginx中利用SSL实现双向认证-创新互联

怎么在Nginx中利用SSL实现双向认证?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联是一家专注于网站设计、网站建设与策划设计,科尔沁右翼前网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:科尔沁右翼前等地区。科尔沁右翼前做网站价格咨询:13518219792

首先创建一个目录

cd /etc/nginx
mkdir ssl
cd ssl

CA与自签名

制作CA私钥

openssl genrsa -out ca.key 2048

制作 CA 根证书(公钥)

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

注意:

1、Common Name 可以随意填写
2、其他需要填写的信息为了避免有误,都填写 . 吧

服务器端证书

制作服务器端私钥:

openssl genrsa -out server.pem 1024
openssl rsa -in server.pem -out server.key

生成签发请求:

openssl req -new -key server.pem -out server.csr

注意:

1、Common Name 得填写为访问服务时的域名,这里我们用 usb.dev 下面 NGINX 配置会用到
2、其他需要填写的信息为了避免有误,都填写 . 吧(为了和 CA 根证书匹配)

用CA签发

openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt

客户端证书

与服务端证书类似

注意:

1、Common Name可以随意填写
2、其他需要填写的信息为了避免有误,都填写 . 吧(为了和 CA 根证书匹配)

至此需要的证书都弄好了,我们可以开始配置 NGINX 了。

Nginx配置

server {
    listen 443;
    server_name usb.dev;

    index index.html;

    root /data/test/;

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

请求验证

验证过程可以选择在其他机器或是本机,为了能够解析 usb.dev,还需要配置一下 /etc/hosts:

ip地址 usb.dev

如果用浏览器验证,需要把客户端证书导出成 p12 格式的

openssl pkcs12 -export -clcerts -in client.crt -inkey client.pem -out client.p12

关于怎么在Nginx中利用SSL实现双向认证问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联成都网站设计公司行业资讯频道了解更多相关知识。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:怎么在Nginx中利用SSL实现双向认证-创新互联
浏览地址:http://csdahua.cn/article/jpscp.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流