day-50 网站服务安全访问(HTTPS)

00.课程介绍部分
    1.高可用服务双主设置
    2.网站安全访问概念介绍
    3.实现HTTPS访问部署过程
    4.实现HTTP向HTTPS跳转访问过程
    5.实现wordpress动态网站HTTPS访问
    6.实现网站伪静态配置

    综合架构完成需求说明
    1.综合架构需要完成项目
        完成内容:
        基础部分:
        扩展部分(简单)
        扩展部分(复杂)

    2.综合架构完成时间规划
    第一天: rsync 全网备份  nfs 实时同步  文档编写
    第二天: ansible web lb keepalived     文档编写
    第三天: LNMP www bbs blog  https      文档编写 
    第四天~第七天: 简单扩展项
    第八天~第十天: 复杂扩展项
    第十一天:      检查架构服务是否正确 一键化剧本 
    第十二天:      将文档汇总编辑      

    3.如何进行复述架构完成情况
    1) 自我介绍
    2) 架构部署规划
    3) 详细说明     扩展技巧  新的  部署流程
    4) 分享架构异常问题  
    5) 特殊知识点分享 *
    6) 感恩  
    7) 排错
01.课程知识回顾
    1.高可用服务:避免单点故障
    2.实现方式:利用keepalived软件实现
              利用keepalived软件实现管理lvs服务
              利用keepalived1软件实现后端节点健康检查功能
              利用keepalived软件实现冗余功能
    3.高可用的原理:vrrp协议
                  利用vrrp协议实现主备通讯
                  利用vrrp协议实现主备竞争
                  利用vrrp协议实现组播发送
                  vrrp协议传输时使用明文
    4.高可用服务的部署过程
            第一步:web服务部署
            第二步:部署负载均衡服务
            第三步:部署keepalived
    5.高可用服务常见问题
            1.脑裂问题:高可用集群中,多台主机出现了vip地址
                解决:编写监控脚本
            2.keepalived的存在价值,nginx停了后keepalived也要听
                解决:编辑监控脚本
02.实现双主配置
    第一步:编写keepalived配置文件
        vim /etc/keepalived/keepalived.conf
    lb01:
            vrrp_instance oldboy {
                state MASTER
                interface eth0
                virtual_router_id 63
                priority 110
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass 1111
                }
                virtual_ipaddress {
                   10.0.0.3
                }
            }
            vrrp_instance oldgirl {
                state BACKUP
                interface eth0
                virtual_router_id 64
                priority 100
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass 1111
                }
                virtual_ipaddress {
                   10.0.0.4
                }
            }

    lb02:
            vrrp_instance oldboy {
                state BACKUP
                interface eth0
                virtual_router_id 63
                priority 100
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass 1111
                }
                virtual_ipaddress {
                    10.0.0.3
                }
            }
            vrrp_instance oldgirl {
                state MASTER
                interface eth0
                virtual_router_id 64
                priority 110
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass 1111
                }
                virtual_ipaddress {
                    10.0.0.4
                }
            }


    第二步:修改负载均衡服务配置 lb01 lb02
        vim /etc/nginx/nginx.conf
    方式一:
        server {
          listen        10.0.0.3:80;
          server_name   www.oldboy.com;
          location / {
             proxy_pass  http://oldboy;
                 proxy_set_header Host $host;
                 proxy_set_header X-Forwarded-For $remote_addr;
          }
        }
        server {
              listen        10.0.0.4:80;
              server_name   bbs.oldboy.com;
              location / {
                 proxy_pass  http://oldboy;
                     proxy_set_header Host $host;
                     proxy_set_header X-Forwarded-For $remote_addr;
              }
        }

    方式二:
        server {
          listen        10.0.0.3:80;
          listen        10.0.0.4:80;
          server_name   localhost;
          location / {
             proxy_pass  http://oldboy;
                 proxy_set_header Host $host;
                 proxy_set_header X-Forwarded-For $remote_addr;
          }
        }
03.网站安全访问概念介绍 HTTP(secure)
    1.数据的机密性    对称加密算法    私钥和公钥  保护好算法信息 发送方(私钥/公钥) --- 接收方(公钥/私钥)
    2.数据的完整性    对称加密算法    私钥和公钥  保护好特征码
    3.身份认证问题    非对称加密算法              私钥在服务器上保留好  公钥进行分发
        公钥 === 证书
        CA证书颁发机构
04.如何实现HTTPS安全访问网站
    第一步:创建私钥和公钥(证书) 
    cd /etc/nginx 
        openssl genrsa -idea -out server.key 2048
        genrsa   ---创建什么类型私钥
        idea     ---需要给私钥文件设置密码
        out      ---创建生成一个私钥文件
        2048     ---加密位数

        openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt
        req       ---创建一个证书文件
        days      ---证书有效期(天)
        x509      ---证书文件格式
        sha256    ---指定生成证书算法
        nodes     ---去除私钥的密码生成证书 
        keyout    ---指定加载私钥文件

    第二步:在nginx程序中,编写配置文件开启HTTPS功能,加载私钥和公钥信息

        vim /etc/nginx/conf.d/www.conf 中添加

        ssl_certificate    server.crt;
        ssl_certificate_key    server.key;

        HTTPS端口号不是80,listen需要改为443 ssl;
        listen  443 ssl;

    第三步:进行HTTP访问跳转HTTPS功能配置

        vim /etc/nginx/conf.d/www.conf 中添加

        server {
            listen            80;
            server_name       www.oldboy.com;
            rewrite  ^/(.*)$  https://$host/$1 redirect;

        }

    第四步:检查配置文件 (全)

    cat /etc/nginx/conf.d/www
        server {
           listen            80;
           server_name       www.oldboy.com;
           rewrite  ^/(.*)$  https://$host/$1 redirect;
        }
        server {
           listen            443 ssl;
           server_name       www.oldboy.com www.jd.com;
           root              /html/www;
           index             index.html;
           ssl_certificate      server.crt;
           ssl_certificate_key  server.key;
        }
05.利用负载均衡实现HTTPS访问过程
方式一:全网服务器都配置证书和私钥信息 
        用户客户端访问      --- lb01                     --- web节点
        www.oldboy.com         http://www.oldboy.com
                          跳转https://www.oldboy.com    --- listen 443 ssl

    第一步:编辑lb负载均衡配置文件
        upstream oldboy {
          server 10.0.0.7:443;
          server 10.0.0.8:443;
          server 10.0.0.9:443;
        }   
        server {
              listen        80;
              server_name   localhost;
              rewrite  ^/(.*)$  https://$host/$1 redirect;
        }
        server {
          listen        443 ssl;
          server_name   localhost;
              ssl_certificate   server.crt;
              ssl_certificate_key   server.key;
          location / {
             proxy_pass  https://oldboy;
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $remote_addr;   
          }
        }

    第二步:web节点配置
        server {
           listen            443 ssl;
           server_name       www.oldboy.com www.jd.com;
           root              /html/www;
           index             index.html;
           ssl_certificate      server.crt;
           ssl_certificate_key  server.key;
        }


方式二:负载均衡服务器配置证书和私钥信息
        用户客户端访问      --- lb01                     --- web节点
        www.oldboy.com         http://www.oldboy.com
                          跳转https://www.oldboy.com    --- listen 80

    第一步:负载均衡配置信息
        upstream oldboy {
          server 10.0.0.7:443;
          server 10.0.0.8:443;
          server 10.0.0.9:443;
        }   
        server {
              listen        80;
              server_name   localhost;
              rewrite  ^/(.*)$  https://$host/$1 redirect;
        }
        server {
          listen        443 ssl;
          server_name   localhost;
              ssl_certificate   server.crt;
              ssl_certificate_key   server.key;
          location / {
             proxy_pass  http://oldboy;
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $remote_addr;
          }
        }

    第二步:web节点配置信息
        server {
           listen            80;
           server_name       www.oldboy.com www.jd.com;
           root              /html/www;
           index             index.html;
        }
06.利用HTTPS访问动态页面
    第一步:修改配置文件信息
        修改负载均衡配置文件 vim /etc/nginx/nginx.conf

        upstream oldboy {
              server 10.0.0.7:443;
              server 10.0.0.8:443;
              server 10.0.0.9:80;
            }
        server {
              listen        80;
              server_name   localhost;
              rewrite  ^/(.*)$  https://$host/$1 redirect;
        }
        server {
              listen        443 ssl;
              server_name   localhost;
              ssl_certificate       server.crt;
              ssl_certificate_key   server.key;
              location / {
                 proxy_pass  https://oldboy;
                 proxy_set_header Host $host;
                 proxy_set_header X-Forwarded-For $remote_addr;
              }
         }

        web服务器配置过程  
        server {
          listen       443 ssl;
          server_name   blog.oldboy.com blog.oldgirl.com;
          ssl_certificate       server.crt;
          ssl_certificate_key   server.key;
          location / {
              root         /html/blog;
              index        index.php index.html;
          }
          location ~ \.php$ {
              root /html/blog;
              fastcgi_pass  127.0.0.1:9000;
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              fastcgi_param HTTPS on;
              include fastcgi_params;
          }
        }

    第二步:修改wordpress后台信息
        修改为https://blog.oldboy.com

    第三步:重启nginx程序
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容