网站挂黑链工具,没有企业邮箱怎么认证,wap网站建设流程,外贸网站建设不可缺少的灵活性0. 引言
之前我们讲到nginx的一大核心作用就是实现企业安全防护#xff0c;而实现安全防护的原理就是通过部署https证书#xff0c;以此实现参数加密访问#xff0c;从而加强企业网站的安全能力。
nginx作为各类服务的统一入口#xff0c;只需要在入口处部署一个证书而实现安全防护的原理就是通过部署https证书以此实现参数加密访问从而加强企业网站的安全能力。
nginx作为各类服务的统一入口只需要在入口处部署一个证书就能够实现各类后台服务的统一https加密
1. https协议简介
1.1 为什么要用https?
首先我们要知道http有什么问题为什么要用https请求http协议使用明文传输参数这就导致参数传递过程中有被第三方截取到数据信息的风险https用参数加密来解决同时传输过程数据被截取还可能被篡改https用签名来保证数据完整性下游也不知道收到的数据是不是原始数据也就是不知道数据到底是谁发送的有没有被改过https用密钥对、非对称验签解决。
基于以上的情况在企业生产系统中我们都建议使用https协议进行接口请求、数据传输
1.2 什么是ssl证书
SSL证书是一种数字证书它用于在互联网上提供安全的通信方式。它类似于现实生活中的各种证件如驾驶证、护照和营业执照的电子副本。SSL证书的主要作用是在客户端浏览器和Web服务器之间建立一条加密的安全通道以保护数据传输的安全。
SSL证书的申请和颁发过程由受信任的数字证书颁发机构CA负责比如国内的阿里云。在颁发证书之前CA会验证申请者的身份以及其对所申请域名的控制权。验证通过后CA会签发SSL证书证书包含内容
密钥对颁发者和使用者的信息证书的相关信息
1.3 https协议和ssl证书是什么关系
SSLSecure Sockets Layer和HTTPSHTTP Secure之间的关系是紧密相连的。HTTPS是一种安全的网络通信协议它是在HTTPHypertext Transfer Protocol协议的基础上通过SSL协议提供了数据加密、数据完整性验证和服务器身份验证的功能。因此可以说HTTPS是HTTP协议的安全版本而SSL是实现HTTPS安全性的关键技术。
具体来说HTTPS协议在传输数据时会使用SSL加密技术确保数据在传输过程中不被窃听和篡改。此外SSL证书用于验证服务器的身份这有助于防止中间人攻击和欺骗性网站。用户可以通过查看浏览器地址栏中的绿色锁图标或HTTPS字样来确认当前连接是安全的。
所以我们是通过部署ssl证书来实现https协议的。
2. 证书的颁布
2.1 第三方颁布
比如使用的阿里云的域名就可以在阿里云申请证书免费的是一年有效期一年后要进行重新申请和部署不然证书过期就会影响接口调用原本支持的https协议就会失效了。也有付费的一般付费的可以使用好几年。
2.2 自签证书
这里我为了给大家演示就使用自签证书所谓自签证书就是自己利用第三方工具生成的证书一样具备加密的功能只是没有第三方的认证
签发证书步骤 1、安装openssl工具使用该工具签发证书
# 安装
yum install openssl -y2、生成密钥对
# 创建并进入密钥目录后续证书就生成在该目录下
mkdir /etc/nginx/pki
cd /etc/nginx/pki
# 指定权限
umask 077;
# 生成RSA私钥并指定长度
openssl genrsa -out private.pem 4096
# 根据私钥生成公钥
openssl rsa -in private.pem -pubout -out public.pem执行成功后会发现目录下多出了一个私钥和公钥文件
3、生成自签证书
# openssl req -new -x509 -key 私钥 -out 证书名 -days 证书有效期
openssl req -new -x509 -key private.pem -out ca.crt -days 36500
# 依次输入国家、省份、城市、公司、部门、域名、邮箱地址4、查看目录下多出一个证书文件ca.crt
3. nginx部署ssl证书
官网文档https://nginx.org/en/docs/http/configuring_https_servers.html
1、修改配置指定证书路径
server {listen 443 ssl;server_name www.wu.com;root /html/wu;index index.html;# 指定证书和私钥ssl_certificate /etc/nginx/pki/ca.crt; # 指定证书路径如果是第三方颁发的也会有这个文件复制到指定目录下就行ssl_certificate_key /etc/nginx/pki/private.pem; # 私钥文件location / {proxy_pass: http://192.168.244.41:8083;proxy_set_header HOST $host;proxy_http_version 1.1;} }2、同时配置http请求跳转https
server {listen 80;server_name www.wu.com;root /html/wu;index index.html;location / {rewrite (.*) https://192.168.244.41:8083/$uri redirect; # 这里ip端口可以替换为你的域名}}3、访问测试 首先我们直接通过https访问ip, 可以看到可以正常访问到但是证书显示是无效的 这是因为证书是我们自己颁发的并不是认证的第三方的所以无效但是可以看到证书本身的内容已经正常显示我们在本地做一些测试时可以采用自颁发证书的形式生产上还是要用正规的第三方颁发。
4. 总结
如上我们就完成了nginx ssl证书的部署可以看到单纯看证书的部署并不难关键大家要体会到证书的含义和作用