zoukankan      html  css  js  c++  java
  • 基于Nginx的SSL虚拟主机

    通过私钥,证书对站点www.test.com的所有数据加密,实现通过https访问www.test.com

    环境说明:

    源码安装Nginx时必须使用--with-http_ssl_module参数,启用加密模块,对于需要进行SSL加密处理的站点添加ssl相关指令(设置网站需要的私钥和证书). 加密算法一般分为对称算法、非对称算法、信息摘要。

    对称算法有:AES、DES,主要应用在单机数据加密。

    非对称算法有:RSA、DSA,主要应用在网络数据加密。

    信息摘要:MD5、sha256,主要应用在数据完整性校验。

    思路:配置ssl虚拟主机->客户端验证

    1.配置SSL虚拟主机

    1.1生成私钥与证书

    # cd /usr/local/nginx/conf

    # openssl genrsa > cert.key    //生成私钥

    # openssl req -new -x509 -key cert.key > cert.pem     //生成证书

    1.2修改Nginx配置文件,设置加密网站的虚拟主机

    # vim /usr/local/nginx/conf/nginx.conf  

    ......

    server {                  //默认情况下,https的server容器是被#注释掉的,需要去除#解除注释,以启用https

              listen 443 ssl;

              server_name          www.test.com;      //定义域名

              ssl_certificate cert.pem;     //这里是证书文件

              ssl_certificate_key cert.key;   //这里是私钥文件

              ssl_session_cache shared:SSL:1m;

              ssl_session_timeout 5m;

              ssl_ciphers HIGH:!aNULL:!MD5;

              ssl_prefer_server_ciphers on;

              location / {

                              root html;

                              index index.html index.htm;

                             }

               }

    1.3重启nginx服务,加载配置

    # /usr/local/nginx/sbin/nginx -s reload

    2.客户端验证

    2.1一般需要配置域名解析服务器,但这里为简化问题,修改客户端主机的本机/etc/hosts文件,进行域名解析

    # vim /etc/hosts

    192.168.4.5    www.test.com     //设置要解析的域名及IP地址

    2.2登录客户端测试

    [root@client ~]# firefox https://www.test.com            //信任证书后可以访问,注意要在http后面加s

  • 相关阅读:
    Git 如何优雅地回退代码?
    如何让自己的技能变现?
    读了100本书,总结出读遍万卷书的 7 大方法
    08月10日总结
    08月09日总结
    08月08日总结
    08月06日总结
    08月04日总结
    08月03日总结
    剑指offer52 两个链表的第一个公共节点
  • 原文地址:https://www.cnblogs.com/liusingbon/p/11078990.html
Copyright © 2011-2022 走看看