阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx自签CA 配置HTTPS加密反向代理访问

225次阅读
没有评论

共计 1983 个字符,预计需要花费 5 分钟才能阅读完成。

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

HTTPS 的原理和访问过程:

服务器必要条件:

一个服务器私钥 KEY 文件

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

访问过程:

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

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

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

Nginx 自签 CA 配置 HTTPS 加密反向代理访问

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

自签名 CA 证书生成

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

Nginx 自签 CA 配置 HTTPS 加密反向代理访问

2,自己给自己签发证书

#opensslx509 -req -days 3650 -in moonfly.net.csr -signkey moonfly.net.key -outmoonfly.net.crt

-days 3650    证书的有效期,自己给自己颁发证书,想有多久有效期,就弄多久,我一下弄了 10 年的有效期;

-inmoonfly.net.csr 指定 CSR 文件

-signkey moonfly.net.key  指定服务器的私钥 key 文件

-outmoonfly.net.crt  设置生成好的证书文件名

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

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

NGINX 配置启用 HTTPS 并配置加密反向代理

Nginx 自签 CA 配置 HTTPS 加密反向代理访问

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

Nginx 自签 CA 配置 HTTPS 加密反向代理访问

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

Nginx 自签 CA 配置 HTTPS 加密反向代理访问

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-04/116760.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1983字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中