http协议服务是80端口
https协议服务是443端口,https就是一种加密的http。
这个服务对应端口是默认的,自己设定服务用的端口也是可以的,比如http用8080。
加密作用是为了信息传输安全,比如:在网上银行汇款,你输入银行卡密码,不加密则数据在传输过程中就可能被人截获。
除了银行的网站,大型的网站都是使用https的。
苹果的APP都是使用https的才能通过。
现在目的就是让Nginx实现用https来访问网站
nginx –V —— 查看nginx 的配置
关键的是.crt和.key文件
这2文件属于证书文件,可以从网站去申请免费的 —— freessl.org
(这个可以本地手动生成,但手动生成的证书浏览器不识别)
所以要使用https,最开始先要申请安全证书:
网站:www.wosign.org (沃通)
免费:freessl.org
申请证书时会要求做一个DNS验证
可以去Dnspod ,做一个TXT的解析
值分别对应: TXT记录——主机记录 记录值——记录值
保存后,回到证书生成网页的验证页面
成功验证后,会生成3个证书文件,3个文件最好都复制保存下来。
分别命名 ca , crt , key 。 CA证书一般很少用。
证书里包含有公钥。
直接在Linux的 /etc/nginx/ssl 目录里然后保存这3个文件(没有这个目录需要mkdir 新建)
crt(证书)用于加密 key用于解密
现在去 /etc/nginx/conf.d/bbs.aminglinux.cc.conf 改配置文件。
端口改成443
.crt文件和 .key文件的使用绝对路径。
配置完成以后测试下
这时候访问443还不一定行,因为防火墙只放了80端口。
firewall-cmd -add-port=443/tcp –permanent 添加443端口
firewall-cmd --reload 重载防火墙
还需要把hosts里面bbs的IP解析回原本的网卡1的IP(也就是之前假设成内网的)
用加了https:// 访问,成功
如果还用curl 验证,就需要转换一下,要使用 –k -H
扩展一个本地证书生成方法的链接(本地生成就是浏览器不会认)