【Nginx】如何使用自签CA配置HTTPS加密反向代理访问?看了这篇我会了!!

简介: 随着互联网的发展,很多公司和个人越来越重视网络的安全性,越来越多的公司采用HTTPS协议来代替了HTTP协议。为何说HTTPS协议比HTTP协议安全呢?小伙伴们自行百度吧!我就不说了。今天,我们就一起来聊聊如何使用自签CA配置Nginx的HTTPS加密反向代理。咳咳,小伙伴们快上车。

出于安全访问考虑,采用的CA是本机Openssl自签名生成的,因此无法通过互联网工信Root CA验证,所以会出现该网站不受信任或安全证书无效的提示,直接跳过,直接访问即可!

HTTPS的原理和访问过程

服务器必要条件

  • 一个服务器私钥 KEY文件
  • 一张与服务器域名匹配的CA证书(公钥,根据私钥key生成)

访问过程

(1)客户端浏览器通过https协议访问服务器的443端口,并获得服务器的证书(公钥);客户端浏览器这时候会去找一些互联网可信的RootCA(权威证书颁发机构)验证当前获取到的证书是否合法有效,PS:这些RootCA是随操作系统一起预设安装在了系统里面的;

(2)如果RootCA验证通过,表示该证书是可信的,并且若证书中标注的服务器名称与当前访问的服务器URL地址一致,就会直接使用该证书中包含的公钥解密服务器通过自己的KEY(私钥)加密后传输过来的网页内容,从而正常显示页面内容;

(3)如果RootCA验证不通过,说明该证书是未获得合法的RootCA签名和授权,因此也就无法证明当前所访问的服务器的权威性,客户端浏览器这时候就会显示一个警告,提示用户当前访问的服务器身份无法得到验证,询问用户是否继续浏览!(通常自签名的CA证书就是这种情况)

微信图片_20211119151857.jpg

这里需要注意,验证CA的有效性,只是证明当前服务器的身份是否合法有效,是否具有公信力以及身份唯一性,防止其他人仿冒该网站;但并不会影响到网页的加密功能,尽管CA证书无法得到权威证明,但是它所包含的公钥和服务器上用于加密页面的私钥依然是匹配的一对,所以服务器用自己的私钥加密的网页内容,客户端浏览器依然是可以用这张证书来解密,正常显示网页内容,所以当用户点击“继续浏览此网站(不推荐)”时,网页就可以打开了;

自签名CA证书生成

1.用Openssl随机生成服务器密钥,和证书申请文件CSR

微信图片_20211119151905.jpg

2.自己给自己签发证书

在服务器命令行输入如下命令办法证书。

#opensslx509 -req -days 3650 -in moonfly.net.csr -signkeymoonfly.net.key -outmoonfly.net.crt
  • -days 3650  证书的有效期,自己给自己颁发证书,想有多久有效期,就弄多久,我一下弄了10年的有效期;
  • -inmoonfly.net.csr指定CSR文件
  • -signkeymoonfly.net.key指定服务器的私钥key文件
  • -outmoonfly.net.crt 设置生成好的证书文件名

一条命令,自己给自己压钢印的身份证 moonfly.net.crt 就诞生了!

注:其实严格来讲,这里生成的只是一张RootCA,并不是严格意义上的服务器证书ServerCA,真正的ServerCA是需要利用这张RootCA再给服务器签署办法出来的证书才算;不过我们这里只讲如何实现网页的SSL加密,所以就直接使用RootCA了,也是能正常实现加密功能的!

Nginx启用HTTPS

微信图片_20211119151917.jpg

配置文件修改完毕后,用nginx -t 测试下配置无误,就reload一下nginx服务,检查443端口是否在监听:

微信图片_20211119151928.jpg

配置完毕,https已经在工作了,现在可以通过https访问网站了

相关文章
|
11月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1562 10
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
868 3
Jasypt加密数据库配置信息
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1665 1
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
2439 20
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
624 11
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
700 5
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
云安全 安全 数据建模
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
379 10