<h1>NGINX---HTTPS</h1>
<h2>搭建的背景</h2>
<p>在上一次我们已经初步的搭建起一个WEB服务有需要可以点击一下这个nginx从零开始学习(一)那么这次我们讲的是HTTPS,那么什么是HTTPS呢? HTTP是超文本传输协议,那么HTTPS在HTTP基础上加多一个SSL安全套件,HTTP+SSL就成了HTTPS(安全超文本传输协议)</p>
<h2>环境的准备</h2>

  1. 一台装好nginx的服务器
  2. 因为需要加密所以就需要加密的工具-----证书,一般证书是要自己去CA机构购买的,也有不错的免费CA机构的证书,这次用自签名的方式也就是自己做CA在给自己发行证书 注:因为是自己生成的证书所以是不受信任的
  3. 当准备好了这些就可以正式搭建了

<h2>搭建的步骤</h2>

  1. <p>首先要安装可以生成证书的软件。</p>
    yum -y install openssl openssl-devel
    

    <p>然后在命令行中敲</p>

    openssl genrsa -des3 -opt server.key 1024
    
     openssl genrsa  -des3 -out server.key 1024  ---创建一个私钥 这个密码是你每次reload nginx的时候需要填写的 之后可以删除的
    

    <p>openssl req -new -key server.key -out server.csr ---创建一个公钥出来</p>
    <p>Enter pass phrase for root.key: ← 输入前面创建的密码</p>
    </li>

    </ol>
    <p> </p>
    <p> Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN </p>
    <p> State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音 </p>
    <p> Locality Name (eg, city) []:BeiJing ← 市的全名,拼音 </p>
    <p> Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 </p>
    <p> Organizational Unit Name (eg, section) []: ← 可以不输入 </p>
    <p> Common Name (eg, YOUR name) []: ← 此时不输入 </p>
    <p> Email Address []:admin@mycompany.com ← 电子邮箱,可随意填</p>
    <p> </p>
    <p> Please enter the following ‘extra’ attributes </p>
    <p> to be sent with your certificate request </p>
    <p> A challenge password []: ← 可以不输入 </p>
    <p> An optional company name []: ← 可以不输入</p>
    <p> 前面都输完之后能会在当前目录生产一个server.key 以及一个server.csr</p>

    openssl x509 -req -days 3600 -in ../ssl/server.csr -signkey ../ssl/server.key -out server.crt
    

    <p>好了到这里前期准备的功夫就差不多了,那么接下来我们就开始配置了。因为涉及到配置文件,强烈建议备份一次文件在进行修改,直接复制一份即可</p>
    <p>先进去配置文件所在的文件夹里</p>

    cd  /usr/local/nginx/conf/
    

    <p>这是配置文件的目录</p>
    <p>里面有很多文件 我们主要用到的只是nginx.conf这个文件,主要这个是全局配置文件我们现在进去配置文件里</p>

    vim  nginx.conf
    

    <p>我们去到最下面一层看到</p>
    <p>HTTPS相关配置</p>
    <p>这几行,这就是配置HTTPS的几行了,现在把注释打开之后</p>
    <p>最上面的HTTPS server不用打开 这个是说明注释</p>
    <p>打开后我们保存退出</p>
    <p>我们 cd .. 退到上一层去 创建一个ssl的文件夹,把所属者,所属组都给nginx这个用户</p>
    <p>这是创建后 也给了权限的</p>
    <p>上面是做了一个创建ssl的文件夹,并且把刚才创建的私钥和公钥都复制过来 还把所属者 所属组修改了一下</p>
    <p>那么现在我们回到配置文件</p>
    <p>ssl_certificate /usr/local/nginx/ssl/server.crt;</p>
    <p>ssl_certificate_key /usr/local/nginx/ssl/server,key;</p>
    <p>主要修改上面这两行,第一行是放公钥的,下面是放私钥的 注意一定要写绝对路径 修改后 可以保存退出 然后我们测试下配置文件是否出现错误</p>

    /usr/local/nginx/sbin/nginx -t  ---检查nginx的配置文件是否存在问题
    
    /usr/local/nginx/sbin/nginx -s reload   ----重启nginx,这个重启是不需要停服务在重启
    

    <p>之后我们可以https://IP地址 这样去访问一下</p>
    <p></p>
    <p>因为是自己生成的证书,所以是不信任的 点击高级继续访问即可</p>
    <p></p>
    <p>出现了OK是我们的页面那就证明可以了</p>
    <p>到现在就已经证明可以使用htpps了</p>
    <p>那么下次我们就说反向代理</p>

最后修改:2019 年 09 月 29 日 05 : 33 PM
如果觉得我的文章对你有用,请随意赞赏