1. 创建 CA 根证书
CA 是证书名字,自己改
openssl genrsa -out CA.key 2048
openssl req -x509 -new -key CA.key -out CA.cer -days 730 -subj /CN="My CA"
2. 基于上边的 CA 证书,再创建证书
mycert 是证书名字,自己改
172.21.0.92 改为自己的内网ip
openssl genrsa -out mycert.key 2048
openssl req -new -out mycert.req -key mycert.key -subj /CN=172.21.0.92
openssl x509 -req -in mycert.req -out mycert.cer -CAkey CA.key -CA CA.cer -days 365 -CAcreateserial -CAserial serial
3. 编辑 nginx 配置
linux 下,位于
/etc/nginx/nginx.conf
server_name 要和上边的 ip 匹配
server {
listen 443 ssl;
server_name 172.21.0.92;
ssl_certificate /home/路径改成你的/.ssh/mycert.cer;
ssl_certificate_key /home/路径改成你的/.ssh/mycert.key;
location / {
root 你的目录;
index index.html index.htm;
}
gzip on;
}
下载页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ios应用安装</title>
<style>
.row {
text-align: left;
max-width: 500px;
margin: 0 auto;
}
</style>
</head>
<body style="text-align: center;">
<br>
<h1>ios应用安装</h1>
<br>
<div>
<a href="./CA.cer">先点我,下载CA证书</a>
</div>
<br>
<br>
<div>
<img src="./Icon.png" alt="" style="border-radius: 4px;">
<div>
<a href="itms-services://?action=download-manifest&url=https://172.21.0.92/manifest.plist">然后点我安装</a>
</div>
</div>
<br>
<br>
<div>
<h2>常见问题</h2>
<div class="row">问题:无法连接到 "xx.xx.xx.xx"</div>
<div class="row">解决:【设置 > 通用 > 关于本机 > 证书信任设置】勾选信任</div>
<br>
<div class="row">问题:未受信任的企业级开发者</div>
<div class="row">解决:【设置 > 通用 > 描述文件与设备管理】添加到信任</div>
</div>
</body>
</html>
常见错误
-
无法连接到 "xx.xx.xx.xx"
【设置 > 通用 > 关于本机】
未受信任的企业级开发者
【设置 > 通用 > 描述文件与设备管理】
添加到信任
参考文章: