综合架构_网络安全访问(https)

概念介绍HTTPs(secure)

ssl -- 安全套接字层

HTTP数据包是明文

https提高了安全:

01.保证数据机密性

02.保证数据完整性

03.保证通讯可靠性

1.数据的机密性

传输的数据可能会被第三方随时看到

解决方式:

a>

 

b> 对称加密算法 私钥 和 公钥 发送发 

 

 

 

 

 2.数据的完整性

传输的数据不能随意让任何人进行修改

 

解决方式:

 

 对称加密算法。公钥和私钥 保护好特征码

 

 

 

3.身份认证问题

第一次通讯时,需要确认双方的身份正确

 

总结:

对称加密算法: 通讯双方。都有钥匙和锁头

非对称加密算法: 通讯双发, A 主机上会有钥匙和锁头,B主机上只有锁

 

解决:非对称加密算法 私钥在服务器上保存好,公钥进行分发

公钥 ===证书(身份证)

CA证书颁发机构

实现HTTP向HTTPS跳转访问

 

 

实现网站伪静态配置

第一个历程:创建私钥和公钥(证书)

[root@web01 conf.d]# rpm -qa openssl
openssl-1.0.2k-19.el7.x86_64

    cd /etc/nginx/

openssl genrsa -idea -out server.key 2048 【创建私钥文件】 genrsa --- 创建什么类型私钥 idea --- 需要给私钥文件设置密码 out --- 创建生成一个私钥文件 openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt 【假证】 req --- 创建一个证书文件 days --- 证书文件有效期(默认 天) x509 --- 证书文件格式 sha256 --- 指定生成证书算法 nodes --- 去除私钥的密码生成证书 keyout --- 指定加载私钥文件 out --- 生成的证书信息

 

 

 

 

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

ssl_certificate       ssl_key/server.crt;

ssl_certificate_key   ssl_key/server.key;

 

 

[root@web02 nginx]# cat /etc/nginx/conf.d/www.conf

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;

}

第三个历程:

方法一:进行HTTP访问跳转HTTPS功能配置

    server {
       listen            80;
       server_name       www.oldboy.com;
       rewrite  ^/(.*)$  https://$host/$1 redirect; 【permanent】
    }
    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;
    }

方法二:

 

 

 

 

 

利用负载均衡实现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:80;
    }    
    server {
          listen        80;
          server_name   localhost;
          rewrite  ^/(.*)$  https://$host/$1 redirect; 【permanent】
    }
    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:80;
      #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  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;
    }

利用HTTPs访问动态页面 wordpress

 第一个历程: 修改配置文件信息
    修改负载均衡配置文件:
    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程序
posted @ 2019-11-20 11:22  堪舆先森  阅读(564)  评论(0编辑  收藏  举报