11. Nginx HTTPS

Posted yanmingbo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11. Nginx HTTPS相关的知识,希望对你有一定的参考价值。


nginx HTTPS

HTTPS基本概念

11.

1.SSL

  • 安全套接层
  • 认证用户和服务器,确保数据发送到正确的客户机和服务器
  • 加密数据以防止数据中途窃取
  • 维护数据的完整性,确保数据在传过程中不被改变

2.HTTPS

使用SSL来实现安全的通信

3.证书

  • 证书用于保证密钥的合法性

  • 证书的主体可以使用户、计算机、服务等

  • 证书格式遵循X.509标准

  • 数字证书包含信息

  • 使用者的公钥值
  • 使用者标识信息(如名称和电子邮件地址)
  • 有限期(整数的有效时间)
  • 颁发者标识信息
  • 颁发者的数字签名
  • 数字证书由权威公正的第三方机构及CA签发

4.配置HTTP前期预备知识

  • HTTPS证书的选择
  • 专业版OV型证书,不显示企业名称
  • 高级版EV型证书,显示企业名称
  • HTTPS证书购买选择
  • 保护1个域名www
  • 保护5个域名 www images cdn test m
  • 通配符域名 *.oldboy.com
  • HTTPS注意事项
  • HTTPS不支持三级域名解析
  • Https持支持续费,证书到期需要重新申请进行替换
  • Https显示绿色,说明着呢个网站的URL都是https的
  • Https显示黄色,因为网站代码肿包含http的不安全连接
  • Https显示红色,证书是假的或者过期了

HTTPS证书申请

1.密钥生成过程

  • 生成key密钥
  • 生成证书签名请求文件(csr文件)
  • 生成证书签名文件(CA文件)

2.当前环境

//openssl必须是1.0.2

[root@web02 bbb]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017

//nginx必须有ssl模块

[root@web02 bbb]# nginx -V

--with-http_ssl_module

[root@web02 bbb]# mkdir /etc/nginx/ssl_key -p
[root@web02 bbb]# cd /etc/nginx/ssl_key/

[root@web02 ssl_key]# openssl genrsa -idea -out server.key 2048
Enter pass phrase for server.key: 输入密码
Verifying - Enter pass phrase for server.key: 确认密码
[root@web02 ssl_key]# ll
总用量 4
-rw-r--r-- 1 root root 1747 216 17:03 server.key

3.生成自签证书,同时去掉私钥的密码

[root@web02 ssl_key]# openssl req -days 46500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:CP
Organization Name (eg, company) [Default Company Ltd]:CN
Organizational Unit Name (eg, section) []:EU^H^H
Common Name (eg, your name or your servers hostname) []:oldboy.com
Email Address []:1124740487@163.com
[root@web02 ssl_key]# ll

HTTPS配置场景

1.HTTPS配置语法

Syntax:ssl on | off;

Default:ssl off;

Context:http,server


Syntax:ssl_certificate file;

Default:–

Context:http,server


Syntax:ssl_certificate_key file;

Default:–

Context:http,server

2.配置支持Nginx支持https实例

[root@web02 conf.d]# cat ssl.conf 
server
listen 80;
server_name www.https1.com;
location /
rewrite .* https://$server_name;


server
listen 443;
server_name www.https1.com;
ssl on;
ssl_certificate ssl_key/server.crt;
ssl_certificate_key ssl_key/server.key;

location /
root /html/https;
index index.html;



[root@web02 conf.d]# mkdir /html/https
[root@web02 conf.d]# echo "https hellow " > /html/https/index.htm

3.测试访问,

由于该证书非第三方权威机构办法,而是我们自己签发的,所以浏览器警告

11.



以上是关于11. Nginx HTTPS的主要内容,如果未能解决你的问题,请参考以下文章

使用LNMP构建企业web站点

企业级Web Nginx 服务优化

Docker 部署 nginx + tomcat

企业级的Https&Nginx实战部署教学

企业级的Https&Nginx实战部署教学

企业级的Https&Nginx实战部署教学