nginx3 — 支持https

http和https的基本概念

http是目前互联网应用最为广泛的一种网络协议,用于从3W服务器传输超文本到本地浏览器的传输协议
https是以安全为通道的http通道,安全基础是ssl / tls,因此加密的详细内容需要ssl(如下图所示)

image.png
http与https对比

https规定了新的协议名和端口号443,其他的应答模式,报文结构,请求方法,url,头字段,链接管理都沿用http

http与https的通信过程

HTTP请求过程中,客户端与服务器之间没有任何身份确认的过程,数据全部明文传输,“裸奔”在互联网上,所以很容易遭到黑客的攻击

1709085967896.png

HTTPS 协议增加了很多握手、加密解密等流程,虽然过程很复杂,但其可以保证数据传输的安全

微信图片_20240301100240.png
http和https的区别

1,https协议需要到ca申请证书,免费证书较少,需要钱
2,http是超文本传输协议,信息是明文传输,https是相对安全的ssl加密传输协议
3,http和https对的链接方式不用,使用的端口也不一样,http是80,https是443
4,http的链接是无状态的,https是由ssl+http构建的可进行加密传输,身份认证的网络协议,比http安全,响应他的速度会比http慢2到100倍,更消耗服务器和客户端的硬件资源,负载增强

nginx实现http修改为https步骤

1,获取ssl证书
2,安装ssl证书(ssl证书可以去阿里云或腾讯云申请免费的证书,一般提供域名验证即可成果申请免费证书。申请成果后下载对应的证书文件)
3, 配置ssl模块(nginx支持https需要安装http_ssl_module模块,默认不会安装此模块,如需支持https需要单独安装)

Snipaste_2024-01-24_18-44-25.png

4,配置nginx支持https

#之前讲到http下可以配置多个server
http {
    #可在http下配置多个server同时配置http与https
     server {
          listen  80;
          server_name  ...;
          location / {
              .....
        }
    }
     server {
          listen 443;
          server_name ...;
          ssl_certificate  #证书名字
          ssl_certificate_key  #证书名字.key
          location / {
              .....
          }
    }
}
5,重启nginx


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容