首页 > 代码库 > Ngnix服务器下面的强身份认证登陆的实现

Ngnix服务器下面的强身份认证登陆的实现

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。今天小编给大家讲讲如何实现客户端强身份认证登陆:
1、首先需要配置站点的SSl证书

打开Nginx安装目录下conf目录中的nginx.conf文件 找到 
   # HTTPS server 
    # 
    #server { 
    #    listen       443; 
    #    server_name  localhost; 
    #    ssl                  on; 
    #    ssl_certificate    cert.pem; 
    #    ssl_certificate_key  cert.key; 
    #    ssl_session_timeout  5m; 
    #    ssl_protocols  SSLv2 SSLv3 TLSv1; 
    #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; 
    #    ssl_prefer_server_ciphers   on; 
    #    location / { 
    #        root   html; 
    #        index  index.html index.htm; 
    #    } 
    #} 
将其修改为 :
    server { 
        listen       443; 
        server_name  localhost; 
        ssl                  on; 
        ssl_certificate      sslkey/public.cer;      (证书公钥)
        ssl_certificate_key      sslkey/private.key;      (证书私钥)
        ssl_session_timeout  5m; 
        ssl_protocols  SSLv3TLSv1 TLSv1.1 TLSv1.2; 
        ssl_ciphers  HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM; 
        ssl_prefer_server_ciphers   on; 
        location / { 
            root   html; 
            index  index.html index.htm; 
        } 
    } 
保存退出,并重启Nginx。 
通过https方式访问您的站点,测试站点证书的安装配置。

3、配置强身份认证
1、  修改nginx.conf文件
如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数:
server {
        ......
        ......
        ......
       ssl_verify_client            on            要求SSL客户证书认证。
       ssl_client_certificate      trust.cer     签发客户证书的CA证书,用来验证客户证书。
        ssl_verify_depth           1               SSL客户证书认证链长度。
}
4、重启站点使用您的客户端证书进行登陆测试
     具体可以参考如下链接:https://www.wosign.com/logindemo/
 
购买ssl证书:https://buy.wosign.com/
 

Ngnix服务器下面的强身份认证登陆的实现