上线以后的ios app可以在store上下载。但是上线之前的app,安装各种麻烦,比如开发测试、demo演示等等的。 自己搭建https服务器,来解决这个问题。
前提:
ios设备 udid 绑定给app,这个是必须的,不绑定的设备下载不了,绑定过程这里也不提了,ios同学们应该知道
下载app之前,先要在ios设备上安装https证书,这个下面说怎么弄
1.https搭建
本文中的搭建环境:Centos+nginx
apache下的配置据说和nginx有点不一样 不过我没有尝试
nginx安装过程省略吧。
https证书制作:
nginx/conf/ssl/ 下新建build.sh, 里面是制作证书的脚本
openssl genrsa -des3 -out server.key 2048 ;
openssl rsa -in server.key -out server.key;
openssl req -new -x509 -key server.key -out ca.crt -days 3650;
openssl req -new -key server.key -out server.csr;
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt;
cat server.key server.crt >server.pem;
保存后退出,执行脚本,会提示一大堆要输入的信息,公司名称、密码什么的,自己看着输吧。
nginx.conf 中加一行,
include sites/https.conf;
这是include下https的配置文件
注:我已经配置了nginx的http服务,直接把https请求通过proxy_pass 代理到http上了。大家可以不用这么麻烦,网上找一下nginx添加https支持,按教程做就可以了。
https.conf放到nginx/conf/sites/ 下面。内容如下:
server {
listen 443 ssl;
server_name localhost;
ssl on;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.pem;
ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
ssl_prefer_server_ciphers on;
location / {
### force timeouts if one of backend is died ##
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
### Set headers ####
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
### Most PHP, Python, Rails, Java App can use this header ###
proxy_set_header X-Forwarded-Proto http;
### By default we don't want to redirect it ####
proxy_redirect off;
proxy_pass http://localhost:8012/;
}
}
这里两个配置注意下,
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.pem;
就是刚才生成的https证书的路径
现在可以启动nginx了
2 配置证书可下载
把刚才生成的https证书目录下的ca.crt证书复制到服务根目录下面 ,让终端可以访问下载到
比如 http://192.168.1.44/ca.crt,
安装ipa之前,要先让终端机通过这个地址下载并安装证书
3.配置ipa下载
把plist文件和ipa文件,放到https服务下面,这两个文件从哪来的,就不说了
新建https://192.168.1.44/download.html 网页,网页中添加plist的下载:
plist 文件里,需要修改下ipa的下载路径
好了,现在访问https://192.168.1.44/download.html,点击下载,就可以安装了。再次提示:别忘了下载证书