首先说下http和https的区别:1、https协议需要ca证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,http是80端口,而https是443端口。4、http的连接很简单,是无状态的;而https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。开始操练起来:1、申请https证书:https证书有收费的也有免费的,如果是企业使用,建议到正规厂商申请https证书,毕竟正规的证书更加安全稳定并有更好的服务保障,而针对个人开发,免费的https证书可以满足使用。目前很多云服务厂商都支持申请免费的https证书,在这里我们使用腾讯云的证书。进入到腾讯云的证书选购页面(https://cloud.tencent.com/product/ssl/ssl-types):点击【立即选购】,进入到选购页面:选择【域名型免费版(DV)】,然后点击【快速免费申请】,进入到证书申请页面:在【通用名称】输入完整的想要申请https域名的地址,如:api.**.**.com,点击【下一步】进入域名身份验证页面:保留默认选择【手动DNS验证】,点击【确认申请】:此时说明域名证书申请成功,点击【查看证书详情】,进入详情页面:此时,我们距离证书申请成功还差最后一步,就是进行域名的解析,在域名解析中添加一条记录:域名解析中的信息要根据证书申请中的信息来填写,点击【确定】,此时回到腾讯云证书申请页面,进行域名解析结果的诊断:此时说明域名解析正确,此时我们稍等几分钟,证书就会申请下来:2、站点部署我们把证书下载下来,解压后发现证书针对各种环境的部署方式都有支持:在云服务器中,我们对外开放的web访问端口默认有80和443,其中80端口针对http协议,而443端口针对https协议。一般一台服务器上会同时部署多个站点,那就涉及到共用一个端口的问题,这时候我们就会用到Nginx,让80或者443端口指定Nginx,由Nginx反向代理到具体端口的服务上,具体安装Nginx可参考【云服务器Linux安装Nginx】。安装完Nginx后,我们需要编辑Nginx的配置,使得Nginx支持https访问并能反向代理,编辑nginx的编辑文件:vi /usr/local/nginx/conf/nginx.conf添加一个server配置: server {
listen 443 ssl;
server_name api.**.**.com; # 申请证书的完整域名
ssl_certificate ****.crt; # crt 文件绝对路径
ssl_certificate_key ****.key; # key文件绝对路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location /api/ {
proxy_pass http://localhost:8899; # 接口本地端口
}
}修改完nginx配置,需要重启下才可以生效:/usr/local/nginx/sbin/nginx -s reload操作完如上这些步骤,我们的接口站点就可以使用https访问了:如果走到这步,那么恭喜你,你已经拥有一个https的站点了!这样你就可以开发微信小程序等等无压力了。感谢您的阅读,如有任何问题,可以关注我并私信。