zoukankan      html  css  js  c++  java
  • nginx配置ssl证书实现https加密请求详解

    原文链接:http://www.studyshare.cn/software/details/1175/0

    一、加密方式

    1、对称加密

    所谓对称加密即:客户端使用一串固定的秘钥对传输内容进行加密,服务端使用相同的秘钥进行解密。

    2、非对称加密

    SSL证书(遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。是公钥+私钥一对秘钥串)

    非对称加密即客户端使用公钥对传输内容进行加密,服务端使用私钥对传输内容进行解密

    java开发工具下载地址及安装教程大全,点[这里]

    更多深度技术文章,在[这里]

    二、http与https

    http是数据在网络上进行明文传输,不安全,但解析效率高(不用加解密);https是加密传输,如果使用对称加密,客户端与服务端秘钥固定,加解密效率不会有很大开销,但存在秘钥泄露风险,不够安全;如果使用非对称加密,客户端使用公钥,服务端使用私钥,加解密算法开销大,性能成本高,效率较对称加密要低,但具有较高的安全性。

    实际生产环境中,https是使用了非对称加密与对称加密相结合的方式。首先使用非对称加密将客户端随机生成的对称秘钥发送到服务端(安全传输到服务端),之后客户端和服务端之间的加解密使用对称秘钥。如下图所示


     

    三、nginx配置https

    1、配置前提

    nginx是否已经启用https模块,启动nginx并执行nginx -V查看,如下:


     

    Nginx配置https只需要两个文件。一个是浏览器证书(内含公钥,供浏览器加密使用),一个是私钥(供服务器解密使用)

    server.crt和server.key可以自己去证书颁发机构购买商业证书。也可以自己使用程序自己生成一份。此处自签一份证书。

    2、自签证书

    (1)创建服务器私钥,需要输入一个口令

            openssl genrsa -des3 -out server.key 4096

    (2)创建签名请求的证书(CSR)

            openssl req -new -key server.key -out server.csr

    (3)在加载SSL支持的Nginx并使用上述私钥时除去必须的口令

            openssl rsa -in server.key -out server_nopass.key

    (4)最后标记证书使用上述私钥和CSR

            openssl x509 -req -days 365 -in server.csr -signkey server_nopass.key -out server.crt

    最后生成的证书文件


     

    3、配置证书

    在nginx中的conf配置文件中的Server模块加入:

    ssl_certificate      /usr/local/nginx/server.crt;

    ssl_certificate_key  /usr/local/nginx/server_nopass.key;


     

    原创文章,转载请注明出处。

    java开发工具下载地址及安装教程大全,点这里

    更多深度技术文章,在[这里]

  • 相关阅读:
    CocoaPods 的简单快速安装方法
    macOS Catalina new Shell,解决 The default interactive shell is now zsh
    Mac入门--通过homebrew下载过慢问题
    Mac下安装Android Studio
    Mac更新catalina之后有道词典闪退的解决办法
    mac系统下安装Java开发环境(一)——JDK安装
    聊天案例
    ios中常用k线
    ubuntu连接蓝牙鼠标
    image_transport
  • 原文地址:https://www.cnblogs.com/darendu/p/11388289.html
Copyright © 2011-2022 走看看