Mac apache本地配置ssl证书 及 iOS OTA部署

如果要实现iOS的 OAT分发,现在必须通过https才能实现,于是自己闲来无事自己研究了一下。
首先第一步需要一个https的服务,Mac自带的apache可以很简单的是实现http的服务。对于https需要做的就是开启ssl功能就行了。

一、生成ssl证书

1、创建文件夹

为了文件的整洁,先创建一个文件夹来存放ssl相关的文件,手动创建或者命令行创建都可以。
路径也随便,只要找到就可以,不过一般会放在/private/etc/apache2/下,也建议放在这个文件目录下,便于管理。

sudo mkdir /private/etc/apache2/ssl
cd /private/etc/apache2/ssl
2、生成密钥对

通过openssl生成密钥对

sudo ssh-keygen -f server.key
3、生成证书请求文件

在设置信息的时候要注意 Common Name 一定要对应服务器地址

sudo openssl req -new -key server.key -out request.csr
生成证书请求文件
3、生成ssl证书(有效期为一年)
sudo openssl x509 -req -days 365 -in request.csr -signkey server.key -out server.crt

目前为止生成的ssl证书已经生成完毕,剩下的就是给apache配置ssl。

二、配置apache

配置ssl之前,先确保apache能够正常的访问使用
配置apache的文件是在一个隐藏的文件夹下,可以通过finder前往或者通过命令行直接打开

open /private/etc/apache2/
1、httpd.conf

打开 /private/etc/apache2/httpd.conf 文件,查找以下配置,去掉前面的 "#",

LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf
Include/private/etc/apache2/extra/httpd-vhosts.conf
2、httpd-ssl.conf

打开 /private/etc/apache2/extra/httpd-ssl.conf 文件
配置ssl证书和密钥的路径

SSLCertificateFile "/private/etc/apache2/ssl/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/ssl/server.key"
3、httpd-vhosts.conf

打开 /private/etc/apache2/extra/httpd-vhosts.conf 文件
在文件的最后面添加以下信息

<VirtualHost *:443>
  SSLEngine on
  SSLCertificateFile /private/etc/apache2/ssl/server.crt
  SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
  ServerName localhost
  DocumentRoot "这里填写文件的存储路径"
</VirtualHost>


**ServerName 服务地址 **
**DocumentRoot一般apache的文件都在/Library/WebServer/Documents/**
5、验证配置
sudo apachectl configtest

如果有以下错误

AH00526: Syntax error on line 92 of /private/etc/apache2/extra/httpd-ssl.conf:

SSLSessionCache: 'shmcb' session cache not supported (known names: ). 
Maybe you need to load the appropriate socache module (mod_socache_shmcb?).

可根据提示进行修改,找到 /private/etc/apache2/extra/httpd-ssl.conf 的92行。

去掉对应行的注释

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 
6、启动或重启apache
sudo apachectl restart

现在就可以通过https访问apache服务了,不过由于是自签名的会有安全警告,手动设置信任就行了。

三、OTA部署

在打包的过程中,到下面这步的时候,如果勾选下图的选择框会引导生成OTA所需要的plist文件

勾选选择框

点击next之后会出现如下界面,进行相关信息的填写,下面的四项都是必填项


填写信息

对于图片有的可能会不需要,并且在plist 文件中没有图片也不影响功能的实现,所以随便就可以,这些信息后期都可以通过修改plist文件来改变。

利用Xcode自动生成的好处就是省去了自己构建plist结构的过程,如果你已经有现成的plist文件就不用勾选第一幅图的选择框,只用修改相应的内容就可以了。

plist 文件内容
  1. bundle-identifier: 对应ipa 的 bundle identifier
  2. bundle-version: 对应ipa 的 version
  3. kind :software
  4. title :安装包的名字

现在我们已经有了https的服务器、ipa安装包和plist文件,OTA所需要的东西已经齐全,剩下的就是将ipa和plist文件方法到服务端,提供下载安装。

apache服务的默认文件位置在/Library/WebServer/Documents/,可以创建一个文件来放置OTA所需的文件

文件目录

index.html的内容,两个连接,一个下载安装包,一个现在ssl的证书

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" mime-types="text/plain">
    <title></title>
  </head>
  <body>
    <a classstyle="display:block" href="itms-services://?action=download-manifest&url=https://192.168.0.129/OTA/manifest.plist">下载ipa</a>
    <a style="display:block" href="https://192.168.0.129/OTA/ssl/server.crt">下载证书</a>
  </body>
</html>

点击"下载ipa",不出意外的话就会出现下面的界面,点击安装就ok了。

安装提示

<h2>总结一下遇到的坑</h2>
最大的坑就是在生成证书请求文件时,没注意到 Common Name 的设置,以至于后面点击下载的时候一直提示连接失败,找了好久才找到这个问题。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 226,780评论 6 526
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 97,642评论 3 411
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 174,427评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,220评论 1 306
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,026评论 6 405
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,544评论 1 319
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,643评论 3 433
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 41,796评论 0 283
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,300评论 1 329
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,281评论 3 352
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,426评论 1 364
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,988评论 5 354
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,684评论 3 342
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,090评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,311评论 1 280
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,002评论 3 385
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,409评论 2 370

推荐阅读更多精彩内容