https证书配置(nginx)

 https 是什么

  • HTTPS 是一种应用层协议,是一种透过计算机网络进行安全通信的传输协议,HTTPS 经由 HTTP 进行通信,但是在 HTTP 的基础上引入了一个加密层,使用 SSL/TLS 来加密数据包,
  • HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性
  • HTTPS 默认工作在 TCP 协议443端口

HTTPS工作流程

既然要保证数据安全,就需要进行“加密”,即网络传输中不再直接传输明文,而是加密之后的“密文”。加密的方式有很多,但是整体可以分为两大类:对称加密和非对称加密 

  • 对称加密其实就是只通过一个密钥,把明文加密成密文,并且也能把密文解密成明文
  • 非对称加密要额外再用到两个密钥,一个叫做==“公钥”,一个叫做”私钥“。公钥和私钥是配对的==,这对密钥由服务器产生
  • 客户端如何获取到公钥?客户端如何确定这个公钥不是黑客伪造的?为了解决这两个问题,就引入了证书

证书机制 

在客户端和服务器刚建立连接时,服务器就给客户端返回一个证书。这个证书就好比人的身份证,用来作为网站的身份标识。而每搭建一个 HTTPS 网址时都需要在 CA 机构申请一个证书

证书包含的信息

  • 证书发布机构
  • 证书有效期
  • 公钥
  • 证书所有者
  • 签名

HTTPS的完整流程

对称加密: 需要有一个客户端生成的对称密钥,用于对传输的数据进行加密,但需要将该对称密钥告知给服务器
非对称加密:服务器提供一个公钥(自己持有私钥),将公钥传发送给客户端,客户端使用公钥对对称密钥进行加密,将密文传送给服务器
引入证书机制:通过第三方公证机构,向网站颁发证书,该证书里面就含有公钥。客户端向服务器请求的也就是证书,客户端拿到证书后去公证机构校验,如果证书合法,就使用里面的公钥对对称密钥进行加密

阿里云免费证书申请

下载所需的证书zip 

我这里是nginx配置的ssl证书

 

下载包含pem和key两种文件 .key (私钥)与 .pem(公钥)

在nginx中使用证书

在nginx下建立cert文件夹,传入解压好的pem和key文件

 

进入nginx.conf配置页面配置nginx,具体配置内容如下 ,我配置的是访问json文件,各位可以配置别的内容

server {

        listen 443 ssl;
        server_name  shilei.tech;
        root /opt/json/;
        ssl_certificate      /usr/local/nginx/cert/shilei.tech.pem;
        ssl_certificate_key  /usr/local/nginx/cert/shilei.tech.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
                ssl_prefer_server_ciphers  on;

         location /{
                        if (!-e $request_filename){
                   rewrite ^(.*)$ /$1.json last;
                   break;
             }

            root /opt/json/;
            index apple-app-site-association.json;
        }

停止并启动nginx

./nginx -s stop 
./nginx

访问测试 

https://shilei.tech/apple-app-site-association

注意事项

保证服务器的443端口和阿里云的防火墙是开启的,否则访问不到  

# 开启443端口
firewall-cmd --add-port=443/tcp --permanent
# 重载防火墙
firewall-cmd --reload

转载请说明出处内容投诉
CSS教程_站长资源网 » https证书配置(nginx)

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买