内容简介:第一步,先基于Let’s Encrypt证书配置https单向校验的网站出来先修改nginx的配置然后打开浏览器,访问:
第一步,先基于Let’s Encrypt证书配置https单向校验的网站出来先
wget https://dl.eff.org/certbot-auto chmod u+x certbot-auto ./certbot-auto certonly --standalone -m abc@yubangweb.com --agree-tos -d abc.yubangweb.com
修改nginx的配置
server {
listen 80;
listen 443 ssl;
server_name abc.yubangweb.com;
root /var/web;
ssl_certificate /etc/letsencrypt/live/abc.yubangweb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.yubangweb.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/abc.yubangweb.com/chain.pem;
location / {
}
}
然后打开浏览器,访问: https://abc.yubangweb.com/
这个时候就配置好了单向校验的https网站
第二步,就是自签客户端证书
# 签服务端证书 openssl genrsa -des3 -out ca.key 4096 genrsa -out ca.key 4096 req -new -x509 -days 365 -key ca.key -out ca.crt # 签客户端证书 genrsa -out client.key 4096 req -new -key client.key -out client.csr x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 openssl pkcs12 -in client.p12 -out all.pem -nodes
第三步,nginx启用客户端证书校验
# 在刚才的配置文件添加这两行 ssl_client_certificate /root/ssl/ca.crt; ssl_verify_client on;
测试一下客户端证书是否生效(在其它机器执行下面命令)
# 注意复制上面生成的all.pem文件 curl -k --cert all.pem https://abc.yubangweb.com
完整的nginx配置:
server {
listen 80;
listen 443 ssl;
server_name abc.yubangweb.com;
root /var/web;
ssl_certificate /etc/letsencrypt/live/abc.yubangweb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.yubangweb.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/abc.yubangweb.com/chain.pem;
ssl_client_certificate /root/ssl/ca.crt;
ssl_verify_client on;
location / {
}
}
如果需要控制某些请求需要客户端证书校验,则使用下列方法
server {
listen 80;
listen 443 ssl;
server_name abc.yubangweb.com;
root /var/web;
ssl_certificate /etc/letsencrypt/live/abc.yubangweb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/abc.yubangweb.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/abc.yubangweb.com/chain.pem;
ssl_client_certificate /root/ssl/ca.crt;
ssl_verify_client optional;
location / {
if ($ssl_client_verify != SUCCESS) {
return 401;
}
}
location /abc {
}
}
以上所述就是小编给大家介绍的《基于Let’s Encrypt证书实现nginx https双向认证》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 技术讨论 | 看我如何突破iOS APP双向证书认证防护
- Nginx ssl自签名证书双向认证以及Golang https client访问
- js双向绑定
- Golang之双向认证
- angular组件双向绑定
- 双向通信之websocket
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
多处理器编程的艺术
(美)Maurice Herlihy、(美)Nir Shavit / 机械工业出版社 / 2013-2 / 79.00元
工业界称为多核的多处理器机器正迅速地渗入计算的各个领域。多处理器编程要求理解新型计算原理、算法及编程工具,至今很少有人能够精通这门编程艺术。 现今,大多数工程技术人员都是通过艰辛的反复实践、求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。了解本书所涵盖的多处理器编程关键问题将使在......一起来看看 《多处理器编程的艺术》 这本书的介绍吧!
XML、JSON 在线转换
在线XML、JSON转换工具
正则表达式在线测试
正则表达式在线测试