目前遇到一个项目有安全性要求,要求只有个别用户有权限访问。本着能用配置解决就绝不用代码解决的原则,在Nginx上做一下限制和修改即可。这种需求其实实现方式很多,经过综合评估考虑,觉得SSL双向认证方案对用户使用最简单,遂决定用此方案。 注: 本方案在Ubuntu Server 16.04 LTS实施,其他操作系统请酌情修改 SSL双向认证绝大多数SSL应用都以单向认证为主,即客户端只要信
Nginx双向认证一、前言参考链接OPENSSL加密DSA,RSA介绍客户端默认是相信权威CA机构的,操作系统内置了CA证书。说白了就是操作系统默认就有了CA证书的公钥,比如我们能访问https://www.baidu.com(百度)就是因为我们本身的操作系统中CA认证机构中有百度。centos操作系统中被信任的证书一般在此文件中 cat /etc/pki/tls/certs/ca-bundle
1. 创建根证书#创建根证书私钥: openssl genrsa -out root.key 1024 #创建根证书请求文件: openssl req -new -out root.csr -key root.key #创建根证书: openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -da
默认nginx是没有安装ssl模块的,需要编译安装nginx时加入--with-http_ssl_module选项。 提示:nignx到后端服务器由于一般是内网,所以不加密。1. 全站SSL全站做ssl是最常见的一个使用场景,默认端口443,而且一般是单向认证。server { listen 443; server_name example.com; root /apps/www; in
SSL 的双向认证就是,客户端要获取服务端的证书,检查下服务端是不是我可以信任的主机,否则我就认为那个站点的内容不可信任,不应该去访问你(浏览器会告诉你),同时服务端也要检查客户端的证书,客户端如果不是服务端所信任的,那服务端也会认为,你不是我的合法用户,我拒绝给你提供服务。所以,要让 HTTPS 的双向认证顺利完成,就要在服务端给定一个证书,这个证书是浏览器可信任的,同时客户端(浏览器)也要发送
1 基础知识1.1 单向认证 SSL 步骤 1、客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息 2、服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书 3、客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器
nginx配置双向认证
原创 2019-01-22 15:18:56
789阅读
Nginx的浏览器/服务器双向SSL证书认证配置 文章分类:操作系统 最近的项目中需要安全性控制,而我又懒得改动后台的程序代码,故而想在反向代理层加入SSL证书验证。 一直在用Nginx做反向代理,但是其SSL的配置只用过普通的服务端单向证书。在Google,百度狂搜一通之后,一无所获,依旧是那老三样,只有单向认证的示例。
转载 精选 2011-04-12 14:21:34
1569阅读
nginx配置双向认证
原创 2019-01-22 15:18:40
482阅读
以下架构拓扑图   双向认证原理:1、客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息。 2、服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器端的证书,即公钥证书 3、客户端使用服务端返回的信息验证服务器的合法性,包括: 证书是否过期发型服务器证书的CA是否可靠返回的公钥是否能正确解开返回证书
为了支持高并发,需要引入缓存策略,而大型系统的缓存系统更为复杂。由于技术水平有限,现在将目前掌握的缓存架构中的部分知识做一总结。电商系统缓存系统主要分为三个层级 (下面是自己结合整体系统缓存策略的理解,画的图) 总结一点:第一层是Ngnix缓存,第二层是缓存服务(途中蓝色方框中的部分)中的redis(redis cluster+jedis cluster)缓存,第三层是本地堆缓存(ehc
SSL工作原理 SSL的四次握手的过程    以http+ssl为例!  用户使用个人PC,想上招行的网银,将输入比较重要的卡号,密码信息。此时,肯定要加密方式传输数据(对称加密大量信息),并且要确定对方确定是招行网站。 ClientHTTPS Server  1、首先客户端向服务器发送一个SSL的请求包,要求进行安全的会话,请证明你的身份,并且我们双方来
转载 精选 2013-07-02 16:15:08
3089阅读
  以前总觉得配置nginx这种问题看看网上教程就行了自己配置的时候才发现有些问题真的不是看一篇两篇教程就能搞定的 所以自己写一个备忘的配置流程 说不定什么时候就用上了。  对于 nginx 的 HTTPS 配置,通常情况下我们只需要实现服务端认证就行,因为浏览器内置了一些受信任的证书颁发机构(CA),服务器端只需要拿到这些机构颁发的证书并配置好,浏览器会自己校验证书
         什么是双向认证呢?简而言之,就是服务器端对请求它的客户端要进行身份验证,客户端对自己所请求的服务器也会做身份验证。服务端一旦验证到请求自己的客户端为不可信任的,服务端就拒绝继续通信。客户端如果发现服务端为不可信任的,那么也中止通信。     &nbsp
配置nginx单向ssl认证/usr/local/nginx/sbin/nginxV做之前要先确认nginx有没有ssl_module这个模块没有的需要重新初始化进行编译然后killall原来的nginx重启nginx!image.png(https://s2.51cto.com/images/20220722/1658452454546694.png?xossprocess=image/wate
推荐 原创 2022-07-22 09:22:18
3094阅读
1点赞
1评论
        使用自建CA配置nginx双向认证遇到的坑一、安装部署nginx总体说明在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。如果未安装以上程序,在安装nginx过程中会出现对应错误提示,可单独再安装对应依赖程序。出现 ./configu
技术背景  HTTP双向认证过程中,每个用户都需要有自己惟一的证书,通过CA的级联证书模式,使所有的证书都对应同一个根证书。这样需要自己生成一套CA根级证书,再借助其生成二级证书作为client证书。此时client私钥签名不仅可以通过对应的client公钥验证,还可通过根证书的公钥进行验证。 单向验证与双向验证的区别  单向验证: 指客户端验证服务器端证书,服务器并不需要验证客户端证书
一、Nginx双向认证配置:在 Nginx.conf 增加如下 server 配置,或者在 Nginx.conf 指定读取其他子配置文件的位置,比如:include /etc/nginx/conf.d/*.conf,这里指定扫描并读取 /etc/nginx/conf.d/ 目录下的 .conf 后缀结尾的文件。sslProxy.conf:server { listen
HTTPS是如何进行SSL单向认证的?带着这个问题我们来了解HTTPS原理:HTTPS是工作于SSL层之上的HTTP协议,SSL(安全套接层)工作于TCP层之上,向应用层提供了两个基本安全服务:认证和保密。SSL有三个子协议:握手协议,记录协议和警报协议。其中握手协议实现服务器与客户端的认证与密钥交换,记录协议进行数据加密并保证数据的完整性,警报协议则规定了错误类型和处理机制。客户端通信过程1.客
需求: 某些机密网站,仅允许特定电脑访问,能在运维方式解决,就不去麻烦开发!安装或升级opensslyum install -y openssl安装nginx,这里已经安装,安装目录为/usr/local/nginx/ 创建一个新的 CA 根证书,在nginx安装目录下新建 ca 文件夹并创建几个子文件夹mkdir /usr/local
转载 4月前
137阅读
  • 1
  • 2
  • 3
  • 4
  • 5