11. Nginx HTTPS

Nginx HTTPS

HTTPS基本概念

在这里插入图片描述

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 2月  16 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 server's 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.测试访问,

由于该证书非第三方权威机构办法,而是我们自己签发的,所以浏览器警告
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值