• 利用nginx搭建https服务器


    一、HTTPS简介

      HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

      首先,客户端与服务器建立连接,各自生成私钥和公钥,是不同的。服务器返给客户端一个公钥,然后客户端拿着这个公钥把要搜索的东西加密,称之为密文,并连并自己的公钥一起返回给服务器,服务器拿着自己的私钥解密密文,然后把响应到的数据用客户端的公钥加密,返回给客户端,客户端拿着自己的私钥解密密文,把数据呈现出来

    二、生成证书和私钥

      说明:这个只是说明怎么创建秘钥,但是自己创建的秘钥不会受浏览器验证。如果需要搭建https服务器,那么需要去买秘钥。

      ①  创建存放的目录,并进入到目录,一般生成的目录,应该放在nginx/conf/ssl目录:  cd /usr/local/nginx/conf/ssl/

      ②  创建服务器证书密钥文件 server.key: openssl genrsa -des3 -out server.key 1024

        

        注意记住输入的密码,后面需要用到。

      ③  创建服务器证书的申请文件 server.csr

     1 [root@origalom ssl]# openssl req -new -key server.key -out server.csr
     2 Enter pass phrase for server.key:  ← 输入前面创建的密码
     3 You are about to be asked to enter information that will be incorporated
     4 into your certificate request.
     5 What you are about to enter is what is called a Distinguished Name or a DN.
     6 There are quite a few fields but you can leave some blank
     7 For some fields there will be a default value,
     8 If you enter '.', the field will be left blank.
     9 -----
    10 Country Name (2 letter code) [XX]:CN  ← 国家代号,中国输入CN 
    11 State or Province Name (full name) []:BeiJing ← 省的全名,拼音 
    12 Locality Name (eg, city) [Default City]:BeiJing ← 市的全名,拼音 
    13 Organization Name (eg, company) [Default Company Ltd]:MyCompany Corp.   ← 公司英文名 
    14 Organizational Unit Name (eg, section) []:  ← 可以不输入 
    15 Common Name (eg, your name or your server's hostname) []:  ← 可以不输入 
    16 Email Address []:1430156396@qq.com  ←  电子邮箱 
    17 
    18 Please enter the following 'extra' attributes
    19 to be sent with your certificate request
    20 A challenge password []:     ← 可以不输入 
    21 An optional company name []:    ← 可以不输入 

      ④  备份服务器秘钥文件: cp server.key server.key.bak

      ⑤  去除文件口令: openssl rsa -in server.key.bak -out server.key

      ⑥  生成证书文件server.crt:  openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    三、配置nginx

       ①  配置nginx配置文件: vim /usr/local/nginx/conf/nginx.conf

       ②  在配置文件中添加https的配置,使nginx支持https

     1 server {
     2         listen       443 ssl;
     3         server_name  www.origal.cn;     # 域名或者ip
     4 
     5         ssl_certificate      /usr/local/nginx/conf/ssl/214324938610703.pem;
     6         ssl_certificate_key  /usr/local/nginx/conf/ssl/214324938610703.key;
     7 
     8         ssl_session_cache    shared:SSL:1m;
     9         ssl_session_timeout  5m;
    10 
    11         ssl_ciphers  HIGH:!aNULL:!MD5;
    12         ssl_prefer_server_ciphers  on;
    13 
    14         location / {
    15             root   html;
    16             index  index.html index.htm;
    17         }
    18     }

      ③  然后使用https进行访问就可以访问了

  • 相关阅读:
    java 获取最近三个月的月初和月末日期
    java 字符串与十六进制互转
    @Validated 参数校验及配置
    mybatis 存取Oracle数据库中Blob类型数据
    Java下载服务器文件到前端
    Java实现Oracle拷贝数据插入到MySQL
    保利、绿地用移动质检3.0管进度、质量,让快周转又快又好!
    未造先知,匠心协同-BIM全过程总咨询实践案例赏析-2021版
    大数据资产管理总体框架概述
    “数据资产全生命周期管理”你要知道的九大问题
  • 原文地址:https://www.cnblogs.com/origalom/p/7788623.html
Copyright © 2020-2023  润新知