求助无法连接ssl.pre.im

我想问下为什么我在safari中安装应用出现无法连接ssl.pre.im,其他手机却可以谢谢了... 我想问下 为什么我在safari中安装应用出现无法连接ssl.pre.im,其他手机却可以 谢谢了 展开
 我来答
夜独行孤单
2016-03-04 · TA获得超过3460个赞
知道大有可为答主
回答量:2803
采纳率:82%
帮助的人:633万
展开全部
原因是由于iOS7.1要安装企业应用,url必须是https的,不能是http,这就要求我们的服务器要支持https。因此,只要将原链接:

[plain] view plaincopy
itms-services://?action=download-manifest&url=http://example.com/manifest.plist

改为

[plain] view plaincopy
itms-services://?action=download-manifest&url=https://example.com/manifest.plist

即可。
对于服务器,则需要增加对https的支持,本人用的是apache服务器,所以在这里以windows上的apache服务器为例:
1. 安装配有SSL模块的apache版本,本人使用的是httpd-2.0.65-win32-x86-openssl-0.9.8y
2. 打开apache的配置文件conf/httpd.conf,去掉以下内容前的#

[plain] view plaincopy
LoadModule ssl_module modules/mod_ssl.so

并在文件最后加上:

[plain] view plaincopy
<VirtualHost *:8080>
ServerAdmin xxx@mail.xxx.com(邮箱地址,随意)
DocumentRoot D:/Server(服务器根目录)
ServerName 166.111.81.xxx(服务器域名或ip地址)
ErrorLog logs/test-error_log
CustomLog logs/test-access_log common
SSLEngine on
SSLCertificateFile "D:/Program Files/Apache Group/Apache2/conf/ssl.crt/server.crt"(之后生成证书的完整路径)
SSLCertificateKeyFile "D:/Program Files/Apache Group/Apache2/conf/ssl.key/server.key" (之后生成密钥的完整路径)

</VirtualHost>

3. 修改conf/ssl.conf文件的以下内容:(以下为修改完的,大家可以参考下)

[plain] view plaincopy
#SSLSessionCache none
#SSLSessionCache shmht:logs/ssl_scache(512000)
SSLSessionCache shmcb:logs/ssl_scache(512000)
#SSLSessionCache dbm:logs/ssl_scache
...
SSLCertificateFile conf/ssl.crt/server.crt
...
SSLCertificateKeyFile conf/ssl.key/server.key
4. 在conf目录下创建ssl.crt和ssl.key目录(不创建也行,只要保证以上两个路径和之后的文件路径对应即可)

5. 在命令行下切换到apache目录下的bin目录,运行以下命令
生成服务器的私钥:

[plain] view plaincopy
openssl genrsa -out server.key 1024
6. 生成签署申请(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名):

[plain] view plaincopy
openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
7. 生成CA私钥:

[plain] view plaincopy
openssl genrsa -out ca.key 1024
8. 利用CA的私钥产生CA的自签署证书(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名):

[plain] view plaincopy
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf

9. 在当前目录创建demoCA,里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts。
10. CA为网站服务器签署证书:

[plain] view plaincopy
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
11. 最后将server.crt,server.key复制到上文对应的路径下:

[plain] view plaincopy
conf/ssl.crt/server.crt
conf/ssl.key/server.key
12. 重启Apache服务器,即增加了https的支持。可以在浏览器访问https://localhost试试。如果不行,可以在logs\test-error_log文件中看看出了什么错误。

13. 最后,我们要将自己创建的CA证书安装到iphone上。将第10步生成的ca.crt文件通过邮件发送到iphone上,用自带的Mail程序(别的程序不行)打开安装即可。
14. 现在,再次访问我们之前的itms-services链接,就可以正常安装了。

这种方法如果大家觉得麻烦的话可以把plist和ipa传到dropbox上,获取静态链接,因为dropbox的服务器支持https且有第三方发布的证书,唯一的缺点是国内可能会慢一些。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式