[前言]
Nginx
作为一款高性能的HTTP和反向代理服务器,自然支持SSL/TLS加密通信,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,本教程主要介绍从服务器代理商下载https证书,部署到nginx的过程
[优点]
* HTTPS 协议是由 SSL HTTP构建的可进行加密传输、身份认证的网络协议,要比 HTTP安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性。
* HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本;* 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
[缺点]
* HTTPS 协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎起不到什么作用,最关键的是,SSL证书的信用链体系并不安全。特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行;
* 成本增加。部署HTTPS后,因为HTTPS 协议的工作要增加额外的计算资源消耗,例如 SSL 协议加密算法和 SSL交互次数将占用一定的计算资源和服务器成本。在大规模用户访问应用的场景下,服务器需要频繁地做加密和解密操作,几乎每一个字节都需要做加解密,这就产生了服务器成本。随着云计算技术的发展,数据中心部署的服务器使用成本在规模增加后逐步下降,相对于用户访问的安全提升,其投入成本已经下降到可接受程度。
* 相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加10%到20%的耗电。此外,HTTPS 协议还会影响缓存,增加数据开销和功耗
[过程]
1、登录服务器运营商
后台,选择ssl证书申请,这里以阿里云为例
2、放置服务器任意目录
,这里放置/etc/nginx/ssl
目录
3、修改nginx
配置,centos目录通常在/etc/nginx/nginx.conf
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name hutc.top; root /www/blog; # ssl文件所在目录 ssl_certificate "/etc/nginx/ssl/hutc.top.pem"; ssl_certificate_key "/etc/nginx/ssl/hutc.top.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { if (!-e $request_filename){ rewrite ^/(.*) /index.php last; } index index.html index.php; } location ~ \.php$ { include fastcgi.conf; fastcgi_pass 127.0.0.1:9000; try_files $uri = 404; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
[参考]
本站不直接提供下载,所有下载链接均为第三方