http到https的认识,以及nginx中https的相关配置

最近遇到一个问题,访问页面的时候时不时地会弹出五花八门的广告,什么抢红包、快速减肥之类的,后来经过琢磨知道了是DNS劫持导致的,因为是采用http方式请求,所以很大几率会被劫持,解决办法就是把协议换成https,下面先简单说一下这http协议的历史。

http1.0,当时1.0的http是无状态的,每一次发起的请求都会重新建立一个tcp连接,这时的传输效率非常低。

http1.1,新增了长连接的概念,意思就是保持tcp连接不断开,这样就形成了一条稳定通道,而且也开始支持传输图片、视频等内容了,之前1.0只能是文字。

http2.0,之前版本在传输信息的时候只能是一 一对应,2.0实现了双方可以同时实时地发送消息,前辈们应该是深有体会,作为新人我只能意会O(∩_∩)O。但是呢,由于http是明文传输,所以信息有可能会被截获,这就为什么会弹广告了,至于怎么做到的就不清楚了o(* ̄︶ ̄*)o。

https,下面是来自百度百科对http和https区别的解释:

一、https协议需要到ca申请证书,一般免费证书很少,需要交费。

二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

如果你的项目用到了nginx,那采用https协议的话,应该在nginx服务器中加上如下SSL的相关配置:

listen       443;//https端口
server_name  xxx.xxx.xxx;//访问的域名
		
ssl       on;
ssl_certificate      server.pem;//服务器证书
ssl_certificate_key  server.key;//服务器私钥

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

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

                   

你可能感兴趣的:(http到https的认识,以及nginx中https的相关配置)