×

nginx配置双向认证

nginx配置双向认证(NGINX单双向混合认证)

admin admin 发表于2024-09-11 18:39:20 浏览8 评论0

抢沙发发表评论

大家好,如果您还对nginx配置双向认证不太了解,没有关系,今天就由本站为大家分享nginx配置双向认证的知识,包括NGINX单双向混合认证的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

NGINX单双向混合认证

本文介绍通过NGINX配置实现WEB服务器单双向混合认证: 对信息安全要求较高的互联网应用,除了传统的HTTPS之外,还引入了客户端证书认证,变成双向认证,比如银行客户端专业版软件,通常需要配合类似USB KEY的数字证书,才能使用。 随着对安全的越来越重视,一般企业应用引入双向认证的案例也越来越多。本文介绍的案例是面向代理商的应用,代理商大小不一,有的有专门IT人员规范公司IT,安全性较高,有的则全靠前端门店店员自己管理。 客户引入双向认证除了确保通信安全外,还有一个重要考虑是确保员工岗位变动或离职,引起的账户泄露风险,有客户端证书(USB KEY)之后,只要集中管理好客户端证书就可以了。 但同时也存在一些问题: 为解决上述问题,在不增加成本前提下,本文尝试探讨NGINX单双向混合认证。 安装NGINX sudo apt install nginx 更改配置文件 sudo vi /etc/nginx/sites-enabled/default 用以下类容替换原来的 启动nginx(服务器地址10.100.99.195) sudo systemctl start nginx 启动后端APP (这里在同一台机器用的docker容器启动tomcat,各位根据实验条件自己设置,只要设置的地址能访问后端服务即可) sudo docker run --rm -p8080:8080 tomcat &》/dev/null & 本文介绍了通过NGINX实现单双向混合认证,既保证通讯安全,又能灵活添加信任网络,因为信任网络以外都需要客户端证书访问,还防止员工离职变动带来的账户泄露风险,关键还是零成本,设备0添加(码农的劳动免费啦)。有需要的朋友可以参考一下。 参考

nginx想做一个https双向认证.为什么浏览器不出现证书选择

有的是因为加密造成的,还有就是没有这个的只是系统,你可以去专门的论坛看看,我做的时候用的是QQ浏览器,不知道为什么我的没有出现过这类的问题,你可以下个看,一般网速是非常的快的,一些系统问题也很少出现,运行的比较的稳定,没有必要去做一些无用功,特别的适合做一些软件或者文件。

NGINX 配置 SSL 双向认证

对于 NGINX 的 HTTPS 配置,通常情况下我们只需要实现服务端认证就行,因为浏览器内置了一些受信任的证书颁发机构(CA),服务器端只需要拿到这些机构颁发的证书并配置好,浏览器会自己校验证书的可用性并通过 SSL 进行通讯加密。 但特殊情况下我们也需要对客户端进行验证,只有受信任的客户端才能使用服务接口,此时我们就需要启用双向认证来达到这个目的,只有 当客户端请求带了可用的证书才能调通服务端接口 。 CA 与自签名 CA 是权威机构才能做的,并且如果该机构达不到安全标准就会被浏览器厂商“封杀”,前不久的沃通、StartSSL 就被 Mozilla、Chrome 封杀了。不过这并不影响我们进行双向认证配置,因为我们是自建 CA 的.. 为了方便,我们就在 NGINX 的目录下进行证书相关制作: cd /etc/nginx mkdir ssl cd ssl 制作 CA 私钥 openssl genrsa -out ca.key 2048 制作 CA 根证书(公钥) openssl req -new -x509 -days 3650 -key ca.key -out ca.crt 注意: 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 注意: Common Name 得填写为访问服务时的域名,这里我们用 usb.dev 下面 NGINX 配置会用到 其他需要填写的信息为了避免有误,都填写 . 吧(为了和 CA 根证书匹配) 用 CA 签发 openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt 客户端证书 和服务端证书类似: 注意: Common Name可以随意填写 其他需要填写的信息为了避免有误,都填写 . 吧(为了和 CA 根证书匹配) 至此需要的证书都弄好了,我们可以开始配置 NGINX 了。 其中 ssl_client_certificate /etc/nginx/ssl/ca.crt; 的意思是使用 CA 证书来验证请求带的客户端证书是否是该 CA 签发的。 配置好后就就重新加载 NGINX 吧: service nginx reload 好了,下面我们可以开始验证了。 请求验证 验证过程可以选择在其他机器或是本机,为了能够解析 usb.dev,还需要配置一下 /etc/hosts: 127.0.0.1 usb.dev 如果用浏览器验证,需要把客户端证书导出成 p12 格式的,这里略过。我们重点是通过 curl 进行验证: ***隐藏网址*** 其中 --insecure 是忽略自建 CA 的非权威性。如果你验证正常那说明你运气好,因为这里有个 深坑:某些版本的 curl 会报错: 这些报错版本的 curl 居然要严格要求 --cert 实参的路径要完全正确,比如当前目录下面要用 --cert ./client.crt,用 --cert client.crt 是错误的。爬坑过程是启用了 -v 参数来观察完整的过程,发现其中有一条告警: ***隐藏网址***

SSL双向验证 Nginx反向代理docker.sock

nginx的用户www-data在组www-data中,而docker.sock的用户在docker组中,所以需要将www-data添加到docker组中 查看用户以及组 nginx的配置 重启nginx即可。 ***隐藏网址*** 配置nginx证书,ssl_verify_client与ssl_client_certificate实现验证客户端,如客户端没有自签私钥则不能访问。 重启nginx。 在客户端中加入证书验证。 即可做验证访问。

NGINX单双向混合认证的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于NGINX单双向混合认证、NGINX单双向混合认证的信息别忘了在本站进行查找哦。