http 和 https 介绍
http:应用最广泛的一种网络协议,是一个B/S的request和response的标准,用于从www服务器传输超文本到本地浏览器的传输协议。
https:以安全为目标的http通道,即http下加入ssl层,https的安全基础是ssl,因此加密的详细内容就需要ssl。
两者区别
安全:http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
端口:http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
状态:http的连接很简单,是无状态的;https协议是由ssl和http协议构建的可进行加密传输、身份认证的网络协议,更加安全。
1、使用openssl生成证书
openssl是目前最流行的ssl密码库工具,支持ssl/tls协议的实现。
注意:一定要安装http_ssl_module模块,查看是否安装Nginx
创建ssl目录
生成证书
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /home/odysee/nginx1.8/ssl/nginx.key -out /home/odysee/nginx1.8/ssl/nginx.crt
查看输出文件
2、 修改nginx配置
因为普通用户不容许访问1024以下端口
所以以下端口80--->8888、443--->4433 ,大家自行配置
该ssl证书不受浏览器信任,所以会出现以下所示
如果在私有化部署还是很方便的,注意私有化部署情况下https可以不用443端口(设置其他端口也可以)。
在互联网部署的话就需要去对应的ca证书机构申请证书了(阿里和腾讯都有免费1-2年的证书可以申请,注意好过期即可),这样浏览器才不会出现“不受浏览器信任”