作者个人研发在高并发场景下提供了一个简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。开源半年多以来,已成功为十几家中小企业提供精准定时调度解决方案,经受住了生产环境的考验。为了造福更多童鞋,这里提供一个开源框架地址:https://github.com/sunshinelyz/mykit-delay写在前面随着互联网的发展,很多公司和个人越来越重视网络安全。越来越多的公司使用HTTPS协议而不是HTTP协议。为什么说HTTPS协议比HTTP协议安全呢?朋友请自行百度!我不会谈论它。今天我们就来说说如何使用自签名CA配置Nginx的HTTPS加密反向代理。咳咳,朋友们,上车吧。如果本文对您有帮助,欢迎在文末留言,点赞,点赞转发,大家的支持是我不断创作的最大动力!Nginx出于安全访问的考虑,实现了HTTPS,使用的CA是本机Openssl自签名生成的,所以无法通过互联网工信根CA验证,所以会提示网站不是可信或安全证书无效,跳过直接访问!HTTPS的原理及访问服务器的必要条件服务器私钥KEY文件与服务器域名匹配的CA证书(公钥,根据私钥key生成)访问流程(1)客户端浏览器访问服务器的443端口通过https协议获取服务器的证书(公钥)Key);这时,客户端浏览器会在网上寻找一些可信的RootCA(权威证书颁发机构)来验证当前获得的证书是否合法有效。PS:这些RootCA是随操作系统预装在系统中的(2)如果RootCA验证通过,说明证书是可信的,如果证书中标注的服务器名称与证书的URL地址一致当前访问的服务器,会直接使用证书中包含的公钥,通过自己的KEY(私钥)加密传输的网页内容,对服务器进行解密,从而正常显示网页内容;(3)如果RootCA验证失败,说明该证书没有经过合法RootCA的签名授权,因此无法证明当前访问服务器的权限,此时客户端浏览器会显示警告,提示用户表示无法验证当前访问的服务器身份,询问用户是否继续浏览!(通常是自签名CA证书)这里需要注意验证CA的有效性,只是证明当前服务器的身份是否合法有效,是否具有可信度和唯一性,并防止他人伪造网站;但是不会影响网页的加密功能,虽然CA证书不能被权威机构认证,但是它包含的公钥和服务器上用来加密页面的私钥仍然是一对匹配的,所以客户端浏览器仍然可以使用该证书解密服务器用自己的私钥加密的网页内容,正常显示网页内容,所以当用户点击“继续浏览该网站(不推荐)”时,网页可以打开;自签名CA证书生成1.使用Openssl随机生成服务器密钥,证书申请文件CSR2.给自己颁发证书在服务器命令行输入以下命令获取证书。#opensslx509-req-days3650-inmoonfly.net.csr-signkeymoonfly.net.key-outmoonfly.net.crt-days3650证书的有效期,给自己发证书,只要你要,都可以发只要你要,我做的是10年有效期;-inmoonfly.net.csr指定CSR文件-signkeymoonfly.net.key指定服务器的私钥密匙文件-outmoonfly.net.crt设置生成的证书文件名一个命令,并在证书moonfly.net上标记自己的身份。crt诞生了!注意:严格来说,这里生成的只是一个RootCA,并不是严格意义上的ServerCA的服务器证书。真正的ServerCA需要使用这个RootCA来对服务器进行签名。不过我们这里只讲如何实现网页的SSL加密,所以直接使用RootCA,加密功能是可以正常实现的!Nginx开启HTTPS修改配置文件后,使用nginx-t测试配置是否正确。只需重新加载nginx服务,查看443端口是否监听:配置完成,https已经生效,现在可以通过https访问网站了。转载本文,请联系冰川科技公众号。
