从零开始的nginx学习(二)

NGINX---HTTPS

搭建的背景

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

环境的准备

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

搭建的步骤

  1. 首先要安装可以生成证书的软件。

    yum -y install openssl openssl-devel
    

    然后在命令行中敲

    openssl genrsa -des3 -opt server.key 1024
    

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

    openssl req -new -key server.key -out server.csr ---创建一个公钥出来

    Enter pass phrase for root.key: ← 输入前面创建的密码

 

Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN

State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音

Locality Name (eg, city) []:BeiJing ← 市的全名,拼音

Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名

Organizational Unit Name (eg, section) []: ← 可以不输入

Common Name (eg, YOUR name) []: ← 此时不输入

Email Address []:admin@mycompany.com ← 电子邮箱,可随意填

 

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []: ← 可以不输入

An optional company name []: ← 可以不输入

前面都输完之后能会在当前目录生产一个server.key 以及一个server.csr

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

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

先进去配置文件所在的文件夹里

cd  /usr/local/nginx/conf/

这是配置文件的目录

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

vim  nginx.conf

我们去到最下面一层看到

HTTPS相关配置

这几行,这就是配置HTTPS的几行了,现在把注释打开之后

最上面的HTTPS server不用打开 这个是说明注释

打开后我们保存退出

我们 cd .. 退到上一层去 创建一个ssl的文件夹,把所属者,所属组都给nginx这个用户

这是创建后 也给了权限的

上面是做了一个创建ssl的文件夹,并且把刚才创建的私钥和公钥都复制过来 还把所属者 所属组修改了一下

那么现在我们回到配置文件

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

ssl_certificate_key /usr/local/nginx/ssl/server,key;

主要修改上面这两行,第一行是放公钥的,下面是放私钥的 注意一定要写绝对路径 修改后 可以保存退出 然后我们测试下配置文件是否出现错误

/usr/local/nginx/sbin/nginx -t  ---检查nginx的配置文件是否存在问题

/usr/local/nginx/sbin/nginx -s reload   ----重启nginx,这个重启是不需要停服务在重启

之后我们可以https://IP地址 这样去访问一下

因为是自己生成的证书,所以是不信任的 点击高级继续访问即可

出现了OK是我们的页面那就证明可以了

到现在就已经证明可以使用htpps了

那么下次我们就说反向代理

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

发表评论