背景:作为前端开发人员,前端开发及生产部署都是我自己来维护的,由于项目要接入到其他平台,使用的iframe,拿不到cookie……后端研究,结果需要将http访问改为https。
配置流程:
1、Nginx签名证书配置,我参考的blog.csdn.net/xtkinglong/…
// 生成私钥 1024 / 2048,需要输入密码,密码保存
openssl genrsa -des3 -out server.key 1024
// 私钥生成公钥
openssl req -new -key server.key -out server.csr
// 生成解密的私钥key
openssl rsa -in server.key -out server.key.unsecure
// 签名:两种方法进行签名,通过私钥进行签名,输入密码;通过解密的私钥key签名,不输入密码
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
或者
openssl x509 -req -days 365 -in server.csr -signkey server.key.unsecure -out server.crt
// 步骤中要输入域名、所在省市、单位名称等信息,正确填写就行
// 一定要备份好生成的私钥 公钥
// 这是测试环境使用的,并没有生成正式的,我们生产环境购买的证书,购买地址https://www.itrus.cn/product.html,根据客服要求提供签名,会返回你.pem等正式证书。 测试环境使用会提示不安全,购买后的不再提示,浏览器显示一把小锁。
// nginx配置,正式证书可以参考 https://www.itrus.cn/service_13.html
// /root/server.xxx等是文件存放路径,填写真实路径
server{
listen 80 ssl;
server_name XXXX.com;
ssl_certificate /root/server.crt;
ssl_certificate /root/server.key.unsecure;
}
//配置完保存
nginx -s reload
2、生成签名很简单,按步骤敲就行了,如果不知道nginx在哪里配,找后端人员。由于用户习惯了输入http的域名,如果让用户输入https,体验感不好,就需要解决输入http或者https都跳转到https。
很简单,就在nginx里面加一行代码即可,所加的每一行配置要正确,不然nginx就挂了。
error_page 497 https://$host:$server_port$uri$is_args$args;
// 配置完保存测试
nginx -s reload
这样就完成了,如果还是不成功,请留言哦!