Nginx https详解

导读:本篇文章讲解 Nginx https详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1 HTTPS

HTTPS是一种通过计算机网络进行安全通信的传输协议。它经由HTTP进行通信,利用SSL/TLS建立全通信,加密数据包,确保数据的安全性。

SSL(Secure Sockets Layer)安全套接层
TLS(Transport Layer Security)传输层安全

上述这两个是为网络通信提供安全及数据完整性的一种安全协议,TLS和SSL在传输层和应用层对网络连接进行加密。

为什么要使用https,http协议是明文传输数据,存在安全问题,而https是加密传输,相当于http+ssl,并且可以防止流量劫持。

2 Nginx添加SSL的支持

(1) 将原有/usr/local/nginx/sbin/nginx进行备份

cd /usr/local/nginx/sbin
mv nginx nginx-bac

在这里插入图片描述
(2) 进入nginx的安装目录

cd /usr/local/install_package/nginx-1.20.1
./configure --with-http_ssl_module

在这里插入图片描述

(3) 通过make模板进行编译

make

在这里插入图片描述
(4) 将objs下面的nginx移动到/usr/local/nginx/sbin下

cd objs/
cp nginx /usr/local/nginx/sbin/

(5) 源码目录下升级

#上一层,源码目录
cd ..
#升级
make upgrade

在这里插入图片描述
(6) 验证

#全局变量需要配置nginx
nginx -V

在这里插入图片描述

3 使用openssl生成证书

3.1 查看版本

openssl version

在这里插入图片描述

3.2 创建证书

openssl genrsa -des3 -out server.key 1024

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey  server.key -out server.crt

在这里插入图片描述

4 配置

cd /usr/local/nginx/conf
vim nginx.conf

########配置修改后###########
nginx -s reload
 server {
    listen       443 ssl;
    server_name  www.rosh.com;

    ssl_certificate      /usr/local/cert/server.crt;
    ssl_certificate_key  /usr/local/cert/server.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

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

在这里插入图片描述

5 测试

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/15050.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!