因公司开发了内部使用的vue app, 为保证数据安全, 需要接口数据进行https加密传输, HTTPS实现数据加密需要有SSL证书的认证才可以, 目前SSL证书可以在腾讯云、阿里云等站点免费申请, 免费证书一般有效期为一年,到期可再续期。
-
申请腾讯云免费SSL证书
登录腾讯云网站选择SSL证书产品
域名所有权认证, 在域名管理中增加新的cname解析记录,
域名解析记录配置完毕, 腾讯会进行自动验证,验证完毕,解析记录即可删除。
认证成功后, 根据需要,下载ssl证书即可
我们选择的是Nginx证书,证书包括四个文件
2. nginx部署SSL证书
在nginx目录下创建cert文件夹,将后缀名为key和crt的文件拷贝进去;
我们的服务器为腾讯云服务器,需要在云服务器的安全组规则中增加开发443端口的入站规则;
在centos7系统 firewall 防火墙开放443端口;
我们的app接口服务发布在云服务器内网地址172.17.0.16的8009端口;
在nginx中配置将内网8009端口的接口服务转发至https 443端口, 以 api.mydomain.cn 举例说明:
server {
listen 443 ssl;
server_name api.mydomain.cn;
#请填写证书文件的相对路径或绝对路径
ssl_certificate "/etc/nginx/cert/api.mydomain.cn_bundle.crt";
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key "/etc/nginx/cert/api.mydomain.cn.key";
ssl_session_timeout 5m;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://172.17.0.16:8009;
}
}
原文链接:https://www.bilibili.com/read/cv18859068/