• 基于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

  • 相关阅读:
    获得自动增长的MySQL主键
    HTTP协议状态码的含义
    HttpServletResponse接口
    http header详解
    ORACLE中大数据量查询实现优化
    amqp rabbitMQ docker-composer
    阿里云OSS上传Invalid Object Name错误
    PHP7**幂运算执行顺序
    MySQL join 连表查询索引问题
    Composer改阿里国内镜像
  • 原文地址:https://www.cnblogs.com/liusingbon/p/11078990.html
Copyright © 2020-2023  润新知