一,配置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

nginx安全:配置ssl证书(https证书)的更多相关文章

  1. HttpClient配置SSL绕过https证书

    https://blog.csdn.net/irokay/article/details/78801307 HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多.最重要的 ...

  2. Mac下安装nginx并配置SSL实现Https的访问

    一.nginx安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/insta ...

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. Nginx和Tomcat配置SSL实现https访问

    环境:CentOS 7 Nginx版本: nginx/1.18.0 1. 安装nginx 详细步骤可以参考如下官网:http://nginx.org/en/linux_packages.html#RH ...

  5. Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块 ...

  6. Nginx配置SSL自签名证书

    生成自签名SSL证书 生成RSA密钥(过程需要设置一个密码,记住这个密码) $ openssl genrsa -des3 -out domain.key 1024 拷贝一个不需要输入密码的密钥文件 $ ...

  7. linux系统下使用nginx反向代理asp.net core,并配置免费的https证书

    反向代理是为动态 Web 应用提供服务的常见设置. 反向代理终止 HTTP 请求,并将其转发到 ASP.NET Core 应用. 1.在asp.net core项目中的Startup的Configur ...

  8. Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

    准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796. ...

  9. Nginx下配置SSL模块,支持https

    Http与Https的区别 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效 ...

随机推荐

  1. ef6 code first,对已有数据库如何执行迁移

    先执行:Enable-Migrations,会生成Migrations->Configuration.cs 再执行:Add-Migrations InitialCreate – IgnoreCh ...

  2. pytest(2):使用pycharm运行pytest

    pycharm运行 1.在pycharm里创建测试文件test_demo.py # Author xuejie zeng # encoding utf-8 # content of test_demo ...

  3. Uber的API生命周期管理平台边缘网关(Edge Gateway)的设计实践

    设计边缘网关(Edge Gateway),一个高可用和高可扩展的自助服务网关,用于配置.管理和监控 Uber 每个业务领域的 API. Uber 的 API 网关的演进 2014 年 10 月,优步开 ...

  4. 分布式系统监视zabbix-安装

    zabbix概述 Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbi ...

  5. hystrix源码小贴士之之hystrix-metrics-event-stream

    hystrix-metrics-event-stream主要提供了一些servlet,可以让用户通过http请求获取metrics信息. HystrixSampleSseServlet 继承了Http ...

  6. 一文读懂MySQL的索引结构及查询优化

    回顾前文: 一文学会MySQL的explain工具 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) MySQL官方文档中(https://dev.m ...

  7. 基于bellman-ford算法使用队列优化的spfa求最短路O(m),最坏O(n*m)

    acwing851-spfa求最短路 #include<iostream> #include<cstring> #include<algorithm> #inclu ...

  8. 解析Vue-router相关干货及工作原理

    本文主要介绍了vue-router相关基础知识及单页面应用的工作原理,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. 单页面工作原理是通过浏览器U ...

  9. ksoap2-android的简单使用

    soap2-android 官网地址 https://simpligility.github.io/ksoap2-android/index.html 发行版本 https://oss.sonatyp ...

  10. spark-3-macOS配置hadoop+spark+IDE

    [教程1]https://blog.csdn.net/shiyutianming/article/details/99946797  + [教程2]http://dblab.xmu.edu.cn/bl ...