Nginx-ssl 证书模块

  • SSL:安全套接字层,由netscape公司于1994年创建,它皆在通过web创建安装的Internet通信。
  • SSL证书是数字证书的一种,由权威数字证书机构(CA)验证网站身份后颁发,可实现浏览器和网站服务器数据传输加密。网站在安装SSL证书后会在浏览器显示安全锁标志,数据传输协议从http(传统协议)升级为https(加密协议)。
  • SSL证书的类别:
    • SSL证书可以分为三种:
    • DV:域名型,验证简单,几分钟内即可签发,适合个人站点,小微企业,但这种证书只能实现https最基本的加密功能。
    • ov:企业型,验证域名和网站背后的运营单位,除了加强了网站的安全性之外,还让网站运行者身份得到了确认。
    • EV:企业增强型,
  • HTTPS证书购买选择
    • 单域名:仅能绑定一个域名
    • 多域名:能绑定五个域名
    • 通配符域名:不限个数
  • HTTPS注意事项:
    • https仅支持二级域名
    • https不支持续费,证书到期重新申请替换
    • https显示绿色,说明整个网站都是https的
    • https显示黄色,网站代码中包含https不安全链接
    • https显示红色,证书不认或过期
  • 本章实验nginx负载均衡调度器的基础上增加SSL证书模块。
  • 请看本章实验拓扑图:
    • Nginx-ssl 证书模块_第1张图片

    • 拓扑图环境:
      • LB:192.168.8.5+nginx(配置反向代理,负载均衡,SSL证书)
      • WEB1:192.168.8.6+nginx(配置SSL证书加密模块)
      • WEB2:192.168.8.7+nginx(配置SSL证书加密模块)
    • 实验目标:
      • 安装nginx配置SSL证书认证模块,实现HTTPS加密协议的功能,使web节点上的网站加密。
    • 实验步骤:
      • WEB1服务器配置:
        • 安装nginx(小编使用rpm下载好的软件包直接安装):
          • rpm -ivh *.rpm --nodeps --force
        • 查看nginx是否安装ssl模块:
          • Nginx-ssl 证书模块_第2张图片

        • 查看是否安装openssl(开源ssl)加密工具:
          • 如没有安装请使用yum自行安装,接下来看具体如何创建私钥和生成证书
        • 创建ssl密钥目录,并进入目录(建议放在/etc/nginx目录下):
          • mkdir -p /etc/nginx/ssl_key
          • cd /etc/nginx/ssl_key
          • 创建私钥:
          • 生成证书:
            • Nginx-ssl 证书模块_第3张图片

          • 配置nginx网站扩展配置文件:
            • Nginx-ssl 证书模块_第4张图片

          • 创建网页根目录,添加一个网页:
            • mkdir /httpsweb
            • echo "web1" >/httpsweb/index.html
          • 开启nginx:
            • nginx
          • 访问验证:
            • https://192.168.8.6(访问时必须要加https,因为现在我们的nginx监听端口为443,访问80是无效的,待会我们会说解决方案)
            • Nginx-ssl 证书模块_第5张图片

            • Nginx-ssl 证书模块_第6张图片

            • 继续点击即可看到web1的网页内容,因为我们是用来测试,证书是自己为自己颁发的所需会显示网页不安全。
            • 接下来我们继续配置重定向
              • 作用:将http重定向到https,我们访问80端口就会自己跳转到443端口,这样就不用再每次访问时添加https了。
              • vim /etc/nginx/conf.d/https.conf
                • Nginx-ssl 证书模块_第7张图片

              • 测试:这次我们访问80端口(访问时不加https)
                • http://192.168.8.6
                • (就会自动重定向为https://192.168.8.6)
              • 至此第一台web配置完毕。
              • 我们将第一台的nginx配置文件通过scp命令传送至第二台web上
              • 接下来配置web2(8.7):
                • 安装nginx(和web1配置一样)
                • 将默认的配置文件删除

                  Nginx-ssl 证书模块_第8张图片

                • 创建保存密钥的目录:
                  • mkdir -p /etc/nginx/ssl_key
                  • cd /etc/nginx/ssl_key
                • 生成私钥:
                  • openssl genrsa -idea -out server.key 2048
                • 生成证书:
                  • openssl req -days 3650 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt
                • 开启nginx:
                  • nginx
      • LB负载均衡调度器配置(8.5):
        • vim /etc/nginx/conf.d/lb_https.conf

          Nginx-ssl 证书模块_第9张图片

        • rm -rf /etc/nginx/conf.d/default.conf
        • 创建证书存放目录:
          • mkdir -p /etc/nginx/ssl_key
          • cd /etc/nginx/ssl_key
        • 生成密钥和证书:
          • openssl genrsa -idea -out server.key 2048
          • openssl req -days 3650 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt
        • 访问测试:
          • 修改windows下的hosts文件:
            • C:\Windows\System32\drivers\etc
            • 添加一条记录:192.168.8.5 https.benet.com(将192.168.8.5映射到https.benet.com)
          • 访问:https://192.168.8.5 (访问成功后刷新测试可以不可实现负载均衡)
        • 至此本章实验nginx-SSL模块就已经完毕了!!!感谢大家观看,有什么不懂的地方可以私信小编一起讨论,有需要安装包的朋友可以联系小编o!

你可能感兴趣的:(Nginx,nginx,ssl,运维,架构)