本地开启https服务
###
##自签名证书
##配置Apache服务器SSL
##自己作为CA签发证书
###这里是OpenSSL和HTTPS的介绍
开启HTTPS配置前提是已在Mac上搭建Apache服务器 →Mac上Apache服务器搭建
先在桌面创建个SSL文件夹,用来放生成的私钥证书文件 打开终端cd到SSL文件夹
cd desktop/SSL
#1. 自签名证书
(1) 在SSL文件夹中生成私钥
openssl genrsa -out server.key 2048
生成rsa私钥,2048位强度,server.key是秘钥文件名 (2) 生成自签名证书
openssl req -new -sha256 -x509 -days 365 -key server.key -out server.crt
输入信息
Common Name应该与域名保持一致(如我的电脑搭建的服务器IP地址为10.100.152.185)
#2. 配置Apache服务器SSL
(1) 放入证书
将server.crt和server.key两个文件拷贝 放到/etc/apache2/目录
(2) 修改配置文件
编辑/etc/apache2/httpd.conf文件 找到去掉下面前边的注释#号
LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
Include /private/etc/apache2/extra/httpd-ssl.conf
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
打开/etc/apache2/extra/httpd-ssl.conf文件 去掉以下两项注释并检查是否与之前安装私钥和证书的路径一致 (默认已打开)
SSLCertificateFile "/private/etc/apache2/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/server.key"
编辑/etc/apache2/extra/httpd-vhosts.conf文件 在<VirtualHost *:80> .....</VirtualHost>后面添加一段如下内容:
<VirtualHost *:443>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /private/etc/apache2/server.crt
SSLCertificateKeyFile /private/etc/apache2/server.key
ServerName 10.100.152.185
DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>
注意ServerName填写域名与所需访问一致
(3) 重启服务器
sudo apachectl restart
访问https://10.100.152.185/ 提示不安全什么的(因为自己的证书没添加到浏览器信任列表),继续访问
#3. 自己作为CA签发证书
(1) 生成CA根证书
其实就是自签名证书
先在桌面的SSL文件夹里创建个CA文件夹,用来存放放自己作为CA生成的私钥证书文件 打开终端cd到CA文件夹
cd desktop/SSL/CA
私钥
openssl genrsa -des3 -out ca.key 4096
这里使用-des3进行加密,需要四位以上密码
证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
按1自签名证书流程,得到ca.key和ca.crt
(2 )创建服务器私钥
openssl genrsa -out server.key 4096
(3) 生成证书请求文件CSR
openssl req -new -key server.key -out server.csr
此时已得到如下4个文件
(4) 自己作为CA签发证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 365
然后需要输入生成ca.key时设置的密码
如果遇到这个问题
用/System/Library/OpenSSL/oppenssl.cnf替换目录中的/private/etc/ssl/openssl.cnf文件
大专栏 本地开启https服务p>接着遇到一个问题:
I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory
解决方法 没有目录创造目录也要上 执行以下几条命令创建所需的目录及文件
mkdir -p ./demoCA/newcerts
touch demoCA/index.txt
touch demoCA/serial
echo 01 > demoCA/serial
创建好所需目录及文件
重新执行命令
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 365
输入ca.key密码 然后会打印出证书详细进行确认
输入两次y
得到最终生成的所有文件
所有生成文件 图示server.crt即自己作为CA签发的服务器证书
(5)测试
*测试1 CA生成服务器证书可用性: (1)前往/etc/apache2/文件夹
(2)删除原来自签名证书两个文件 (3)发现https://10.100.152.185/已经不能访问(能访问有可能是缓存,可以刷新或重启Apache) (4)将CA生成的server.key和server.crt两个文件拷贝进去 (5)https://10.100.152.185/ 又可以访问成功
*测试2 CA根证书可用性: (1)新打开https://10.100.152.185/ ,由于自己的CA根证书未在信任列表,会有警告 (2)双击ca.crt安装(我这里使用的是Mac电脑) (3)到钥匙串访问,找到安装的证书,右键点击 → 显示简介 → 设置始终信任 (4)发现https://10.100.152.185 不再警告
*手机安装必须
(5)手机安装ca.crt证书,使用自带的mail邮箱发送证书到手机上面安装。
*提示无法连接‘XXXXXX'
最后把plist放到github上 点击raw预览得到地址
itms-services:///?action=download-manifest&url=https://raw.githubusercontent.com/Blavtes/IPALoadConfig/master/manifest.plist
可以正常下载安装。(需要app打包证书支持。)
*提示服务器证书 无效,可能因为ipa 地址路径不对,检查mainfest.plist 中ipa地址
*注意: itms-services:后面是三个“ / ”,千万别漏掉一个!!!
#(6)如何获取mainfest.plist文件
在xcode->organizer-> archives下选择已打包好的文件,导出ipa包。选择development(开发者模式、也可替换为企业证书打包模式),填写APPURL 。 appURL 为支持https服务器上ipa包地址
生成的plist 放到服务器。这里放到github。https服务器为本地环境
#制作html web下载文件
<!DOCTYPE html>
<html lang="zh-CN">
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<body style="background:#CDE; color:#FFF">
<a href="itms-services:///?action=download-manifest&url=https://raw.githubusercontent.com/Blavtes/IPALoadConfig/master/GjFax/manifest-my.plist">
<div style="margin-top:30px;">
<center>
<font size="10" color="#3789dd" style="padding-left:0pt;">ios-集成下载 </font>
</center>
</div>
</a>
//可加个二维码
<div style="margin-top: 100px">
<center>
<img src="https://github.com/Blavtes/IPALoadConfig/blob/master/GjFax/AppIcon57x57.png?raw=true" width="200" />
</center>
</div>
</body>
</html>
至此结束web下载安装app测试版本。(
本地开启https服务的更多相关文章
- centos httpd开启https服务并申请免费https
安装httpd yum -y install httpd httpd配置文件路径 /etc/httpd/conf/httpd.conf 安装OpenSSL yum install mod_ssl o ...
- 本地搭建https服务
首先确保机器上安装了openssl和openssl-devel npm install openssl npm install openssl-devel (安装报错 导致我没安装成功,但是也还是配置 ...
- 本地开启https的nginx配置
下载证书和key放置在nginx配置文件同级目录下,然后添加配置内容,监听443端口,如果本地443端口被占用,可以使用其他端口测试. server { listen 443; server_name ...
- 宝塔面板快速开启https服务
最近在做小程序开发,急需要一个https的域名,首先我的域名是阿里云的,服务器是腾讯云的,操作都一样: 无论阿里云还是腾讯云,配置SSL是针对服务器的,所以首先是要去申请 腾讯/阿里云服务器的SSL( ...
- tomcat开启https服务
一.创建证书 证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书:本教程由于是演示所以就自己用JDK自带的keytool工具生成证书:如果以后真正在产品环境中使用肯定要去证 ...
- Spring Boot同时开启HTTP和HTTPS服务
由于Spring Boot中通过编码开启HTTPS服务比较复杂,所以官方推荐通过编码开启HTTP服务,而通过配置开启HTTPS服务. Spring Boot的application.yml中添加如下配 ...
- EasyDSS流媒体服务器软件支持HTTPS-启用https服务申请免费证书
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...
- nginx配置SSL证书实现https服务
在前面一篇文章中,使用openssl生成了免费证书 后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器启用https服务申请免费证书
背景分析 目前想在 web 上使用 HTTPS 的话, 你需要获得一个证书文件, 该证书由一个受浏览器信任的公司所签署. 一旦你获得了它, 你就在你的 web 服务器上指定其所在的位置, 以及与你关联 ...
随机推荐
- 哈夫曼编码的理解(Huffman Coding)
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种.Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最 ...
- springBoot中mybatis错误之 Property 'configuration' and 'configLocation' can not specified with together 解决
mybatis.config-location与mybatis.config-locations不同 mybatis.config-location不加载全局配置文件
- Java面试宝典2017
JAVA面试.笔试题(2017版) 欲想成功,必须用功! 目录 一. HTML&CSS部分................ ...
- 2019-2020-1 20199324《Linux内核原理与分析》第二周作业
一.知识点总结 1.冯诺依曼体系结构的要点: ①五大基本类型部件:运算器.控制器.存储器.输入设备.输出设备 ②用二进制来表示指令和数据 ③ 核心:存储程序计算机 2.常见的汇编指令 mov指令(l指 ...
- netstat - 系统信息
netstat - 系统信息 注意:如果是勘验或者验证漏洞,需要验证netstat程序的完整性(netstat程序是否被修改过). # 老版本的CentOS中会自带这个软件包,新版的7有的时候需要单独 ...
- tomcat打印接口延迟时间
项目中有些页面时延不稳定,需要看每次接口调用时延,怎么看,有两种方法:一种是直接去catalina.out日志中看,一种是直接去localhost_access_log日志中看,第一种需要在代码中实现 ...
- SpringBoot中使用task实现定时任务
定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行, ...
- 项目部署篇之三——安装tomcat7.0
1.下载tomcat 百度云下载 链接:https://pan.baidu.com/s/1UGPYHmR-1ehQRvdKGhSlyQ 提取码:3c0g 直接通过指令下载 wget http://mi ...
- 71)PHP,使用cookie的语法问题
1) 为啥用数组的形式,就是这样好区分,你看都是跟student相关的东西, (2)
- 手机遥控Office,变身演讲达人
编者按:在商业演讲中,需要在PPT/Word/Excel文件中切换以达到最佳演讲效果-Office Remote可帮助Windows Phone变身Office的智能遥控.以蓝牙控制电脑,触屏操作多种 ...