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
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
#全局变量需要配置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