zoukankan      html  css  js  c++  java
  • nginx用tar包安装做443加密网站

    一:为什么做加密以及简介

    超文本传输安全协议(HTTPS)是以安全为目标的HTTP通道,简单来说就是HTTP安全版。https由两个部分组成:HTTP+SSL/TLS,在http 基础上加上了一层加密信息模块,服务端和客户端的信息插损胡都会通过TLS进行加密,传输的数据都是加密后的数据

    为了解决HTTP协议的这些缺陷,需要使用另一种协议:HTTPS。为了数据传输的安全性,HTTPS在http的基础上加了SSL协议,SSL依靠证 书验证身份,并为浏览器和服务器之间通信加密;

    SSL证书是一种数字证书,使用Secure Socket Layer协议在浏览器和web服务器之间建立一条安全通道,从而实现数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听,而且用户可以通过服务器证书验证所访问网站是否真实可靠;

    加密的HTTPS和HTTP的区别:超文本传输协议HTTP协议被用于在web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的加密数据,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读取其中信息,因此,http协议不适合传输一些敏感信息;

    HTTPS加密,解密,验证完成过程如图所示:

    首先客户端发送请求,服务端接受到请求之后并申请生成公私秘钥,同时将公钥证书发送给客户端,客户端收到之后并通过TLS进行解析验证,如果证书没有问题就会在客户端生成一个加密随机值,将随机值发送给服务端,服务端接收到之后,用自己的私钥解密,从而得到这个随机值,然后 通过这个随机值对内容进行对称加密。服务端将用私钥加密后的信息发送给客户端,最后,客户端用之前生成的私钥来解密服务器端发过来的信息,获取解 密后的内容

    准备nginx安装包

    请参考https://www.cnblogs.com/zgqbky/p/11696965.html

    关闭防火墙selinux

    [root@nginx01 ~]# iptables -F && setenforce 0 && systemctl stop firewalld

    1.安装依赖包

    [root@nginx01 ~]# yum -y install gcc pcre-devel openssl-devel

    2.解包

    [root@nginx01 ~]# tar -xf nginx-1.12.2.tar.gz

    [root@nginx01 ~]# cd nginx-1.12.2/

    3.加载模块并编译安装

    [root@nginx01 nginx-1.12.2]# ./configure 
    > --prefix=/usr/local/nginx               #指定安装路径
    > --user=nginx                                #指定用户
    > --group=nginx                             #指定组
    > --with-http_ssl_module                #开启SSL加密功能

    [root@nginx01 nginx-1.12.2]# make    &&   make install               (如果没有安装make请自行安装)

    4.打开nginx配置文件

    [root@nginx01 nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf

    将443加密模块解开注释行

        server {
            listen       443 ssl;
            server_name  localhost;

            ssl_certificate      /root/3309085_cszc.top.pem;           
            ssl_certificate_key  /root/3309085_cszc.top.key;

            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
            ssl_protocols SSLv2 SSLv3 TLSv1;
            ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
            ssl_prefer_server_ciphers  on;

            location / {
                root   html;
                index  index.html index.htm;
            }
        }

    }

    5.启动服务

    [root@nginx01 ~]# /usr/local/nginx/sbin/nginx
    nginx: [emerg] getpwnam("nginx") failed
    这里出现了一行报错(没有安装nginx用户导致的无法启动)

    解决报错:

    [root@nginx01 ~]# useradd -s /sbin/nologin -M nginx

    [root@nginx01 ~]# id nginx

    [root@nginx01 ~]# /usr/local/nginx/sbin/nginx

    [root@nginx01 ~]# ss -tlunp | grep nginx

    6.测试

    在浏览器上输入https://192.168.175.100/

     

     

    这样加密就做完了。

    总结:。。。。。。。。。。。此处省略一万字

  • 相关阅读:
    Android Market google play store帐号注册方法流程 及发布应用注意事项【转载】
    cocos2d-x 调用第三方so文件
    ios cocos2d-x 多点触摸
    linux文件分割(将大的日志文件分割成小的)
    Linux 统计某个字符串出现的次数
    scapy基础-网络数据包结构
    mac 下idea光标问题
    mac ox终端显示 bogon的问题
    hibernate和mybatis的区别
    memcached知识点梳理
  • 原文地址:https://www.cnblogs.com/zgqbky/p/12195621.html
Copyright © 2011-2022 走看看