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
nginx安全:配置ssl证书(https证书)的更多相关文章
- HttpClient配置SSL绕过https证书
https://blog.csdn.net/irokay/article/details/78801307 HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多.最重要的 ...
- Mac下安装nginx并配置SSL实现Https的访问
一.nginx安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/insta ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Nginx和Tomcat配置SSL实现https访问
环境:CentOS 7 Nginx版本: nginx/1.18.0 1. 安装nginx 详细步骤可以参考如下官网:http://nginx.org/en/linux_packages.html#RH ...
- Nginx 下配置SSL证书的方法
1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块 ...
- Nginx配置SSL自签名证书
生成自签名SSL证书 生成RSA密钥(过程需要设置一个密码,记住这个密码) $ openssl genrsa -des3 -out domain.key 1024 拷贝一个不需要输入密码的密钥文件 $ ...
- linux系统下使用nginx反向代理asp.net core,并配置免费的https证书
反向代理是为动态 Web 应用提供服务的常见设置. 反向代理终止 HTTP 请求,并将其转发到 ASP.NET Core 应用. 1.在asp.net core项目中的Startup的Configur ...
- Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)
准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796. ...
- Nginx下配置SSL模块,支持https
Http与Https的区别 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效 ...
随机推荐
- Combine 框架,从0到1 —— 4.在 Combine 中使用计时器
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用计时器. 内容概览 前言 使用计时器执行周期性的工作 将计时器转换为计时 ...
- Lua GC机制
说明 分析lua使用的gc算法,如何做到分步gc,以及测试结论 gc算法分析 lua gc采用的是标记-清除算法,即一次gc分两步: 从根节点开始遍历gc对象,如果可达,则标记 遍历所有的gc对象,清 ...
- [程序员代码面试指南]递归和动态规划-机器人达到指定位置方法数(一维DP待做)(DP)
题目描述 一行N个位置1到N,机器人初始位置M,机器人可以往左/右走(只能在位置范围内),规定机器人必须走K步,最终到位置P.输入这四个参数,输出机器人可以走的方法数. 解题思路 DP 方法一:时间复 ...
- vue | 基于vue的城市选择器和搜索城市对应的小区
城市选择器应该是比较常用的一个组件,用户可以去选择自己的城市,选择城市后返回,又根据自己选择的城市搜索小区. 功能展示 这是选择结果 这是选择城市 这是搜索小区 这是搜索小区接口,key为城市名字,i ...
- 搭建ssm整合
一.导入依赖 二.新建java和resources目录 1.在java目录新建cn.itcat.domain包,继续添加controller,service,dao,的包 2.在domain里面创建A ...
- javascript操作多选下拉列表
闲来无事,把javascript操作多选下拉列表有关的操作知识复习了一遍,代码附上 <%-- Created by IntelliJ IDEA. User: Administrator Date ...
- Java Set 常用集合 HashSet、LinkedHashSet、TreeSet
Java 中的 Set 是非常常用的数据类型.Set 是无序的 Collection,Java Set 有三个常用的实现类,分别是:HashSet.LinkedHashSet.TreeSet 本文基于 ...
- DVWA SQL-injection 附python脚本
SQL-Injection low等级 首先我们将dvwa等级调到low 如图 接下来选择SQL Injection,并在提交框中输入正常值1,查看返回结果 接下来检测是否存在注入,分别输入 1' a ...
- 【小白学PyTorch】15 TF2实现一个简单的服装分类任务
[新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.时间序列等多个目标为技术学习的分群和水群唠嗑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx64501661 ...
- 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...