nginx安全:配置ssl证书(https证书)


一,配置https证书的意义

https协议是由SSL+http协议构建的安全协议,支持加密传输和身份认证,

安全性比http要更好,因为数据的加密传输,更能保证数据的安全性和完整性

 

例如:不使用https,网站就比较容易被网络劫持,

           网络劫持会导致页面上出现一些垃圾广告,或被引导到无关的网站,

          使用https可以避免这些情况

 

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

 

二,查看ssl模块默认是否已编译

[root@centos8 ~]# /usr/local/soft/nginx-1.18.0/sbin/nginx -V
nginx version: lws/1.18.0
built by gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC) 
built with OpenSSL 1.1.1c FIPS  28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/usr/local/soft/nginx-1.18.0 --with-http_stub_status_module --with-http_ssl_module

编译参数中已包含了http_ssl_module这个模块

 

三,https证书的获取:

1,购买:

可以从国内的证书代理机构购买,

国外的证书大厂包括:

GlobalSign

geotrust

DigiCert等等

2,免费证书:

可以从letsencrypt获取免费的证书,配置起来稍微麻烦一点,

优点是免费

官方网站:

https://letsencrypt.org/

 

四,nginx配置使用ssl证书

1,配置启用ssl

#ssl on:启用ssl

#ssl_certificate        https证书文件

#ssl_certificate_key  证书申请者的私钥文件

ssl on;
ssl_certificate /data/certs/ssl2019/ssl.crt;
ssl_certificate_key /data/certs/ssl2019/ssl.key;

注意:证书文件的安全非常重要,

 不要放到网站虚拟主机的root目录下,

 避免被暴露到公网上

 

2,ssl的优化:

#ssl_session_cache:配置共享会话缓存大小

#ssl_session_timeout:配置会话超时时间

配置例子:

ssl_session_cache   shared:SSL:10m;
ssl_session_timeout 10m; 

 

ssl的session的作用:

每次新的TLS连续都需要握手(因为创建共享的加密密钥),在TCP三次握手之上还需要多两个来回,

重用一个Session,可以减少一个来回,减少cpu的计算量

 

ssl_session_cache的默认值是none

它的取值包括:

1,off:不使用session缓存: nginx告诉客户端session可能不会被重用 2,none:不使用session缓存:nginx告诉客户端session可能会被重用, 但并不会把session存储在缓存中 3,builtin:缓存只供一个工作进程使用 4,shared: 所有工作进程之间共享缓存

说明:ssl 的session cache大小:1M字节可以存储大约4000个session,

          可以根据自己网站的并发情况计算一个合适的数字

说明:建议把session的配置放到http段而不是server段,共享可以提升性能

 

五,强制浏览器跳转https协议访问

当用户访问到http网站时,直接rewrite到https站即可

server {
        listen       80;
        server_name dev.lhdtest.com;
        rewrite ^(.*) https://$server_name$1 permanent;
    } 

 

六,查看nginx版本

[root@centos8 ~]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM