如何为自己的nginx配置免费的https,并且通过自签的https下载plist文件
一.首先你要清楚https是什么,自签又是什么东西?
其实这些东西不清楚一样可以操作,只是了解更好,就像http默认端口80,https默认端口是443,同样也可以人为的去更改。
首先说明下楼主为什么要搞https,因为苹果下载必须通过plist文件,而plist文件的形式是:itms-services://?action=download-manifest&url=https://xxxxxx.plist
,问题就在于域名必须是https的,如果是http 下载的会提示:“你的网站域名”无效 字样。这个苹果的一个限制,至于为什么,百度吧。
其次自签这个东西,其实就是一个保密协议。
补充一下私钥只能用公钥解开,而公钥只能用私钥解开。
提前说下,自签的https同样不能下载plist,为什么?楼主谷歌也没找到,以后找到会补充的。
过多的就不说了,自行百度吧。
二.配置自己的https(linux),楼主是自己的开发机,所以用户是root
1.新建目录,存放公钥私钥等信息
mkdir ca
新建ca文件夹
2 生成秘钥
openssl genrsa -des3 -out server.key 2048
会有2次提示输入密码,简单的都写一样的(至少4位):123456
此时已经生成了一个server.key 文件
3.去除输入密码的步骤可以使用以下命令,不然每次重启nginx都会输入密码
openssl rsa -in server.key -out server.key
image.png
- 创建服务器证书的申请文件server.csr
openssl req -new -key server.key -out server.csr
可以一路回车: image.png
但是此处要填写自己的域名
- 创建CA证书:
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
image.png
此时目录下应该有
ca.crt ca.srl server.crt server.csr server.key
5个文件
三. 配置nginx
listen: 端口 ssl
ssl_certificate /RSA/server.crt
ssl_certificate_key /RSA/server.key
到此进本就是配置完了,但是电脑可能还不能打开https本地签名的网址,可能需要本地浏览器验证证书,而苹果手机Safari就可以很简单的验证,电脑浏览器验证证书欢迎补充
网友评论