一、生成HTTPS自签名证书

1.下载最新的openssl的安装包,下载地址:https://www.openssl.org/source/

2.解压最新版openssl,可以直接双击使用MAC自带的解压工具解压.tar文件

3.安装最新版openssl的安装包(我这里使用命令安装,我的MAC是64位系统,32位系统的安装命令稍有不同,具体如何安装可以参考:http://blog.sina.com.cn/s/blog_a02862cb0101k4ff.html)

cd "Downloads/openssl-1.1.0c"

./Configure darwin64-x86_64-cc

make

make test

sudo make install

openssl version

4.安装完截图如下,至于为什么要安装升级,是因为老版本的openssl曝出漏洞,如果只是尝试下,也可以不升级

二、生成HTTPS自签名证书

1.生成密钥

openssl genrsa -des3 -out private.key 

-des3代表加上了加密,后面的2048是代表生成的密钥的位数;输入完这个命令会提示你输入:private key,自己设置一个稍微强一些的密码

2.生成证书请求

openssl req -new -key private.key -out server.csr

这一步需要填写一些信息,其中Common Name (e.g. server FQDN or YOUR name) []这个需要填写你的域名或服务器地址。我没有域名,就填写iP地址。一个证书只能绑定一个IP地址,IP地址变化了,需要重新产生证书。

3.生成服务器的私钥,去除密钥口令

openssl rsa -in private.key -out server.key

4.使用私钥为证书请求签名,生成给服务器签署的证书,格式是x509的PEM格式

openssl x509 -req -in server.csr -out server.crt -outform pem -signkey server.key -days 

-outform pem指定证书生成的格式,默认是pem,所以这个命令也可以写作成

sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 

5.在openssl的目录下生成了证书,因为我制作证书的时候没有切换目录

三、修改MAMP的配置

1.打开目录/Applications/MAMP/conf/apache/

2.修改httpd.conf,开启下面的代码,根据这行代码可知,httpd.conf引入的是extra目录下的httpd-ssl.conf文件

Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

3.修改SSLCertificateFile和SSLCertificateKeyFile,我把我的server.crt和server.key拷贝到/Applications/MAMP/conf/apache/目录下,所以我这两个路径写的是:

SSLCertificateFile "/Applications/MAMP/conf/apache/server.crt"
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server.key"

4.修改端口号,httpd-ssl.conf中端口号不能和httpd.conf中监听的端口号一样,我在httpd.conf中监听的端口号是8888,我在httpd-ssl.conf中监听的端口号是8080

Listen 

5.修改http-ssl.conf中的DocumentRoot和ServerName,这个DocumentRoot和httpd.conf中的相同

DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost:

6.修改虚拟目录的监听的端口号

<VirtualHost _default_:>

7.修改虚拟目录的配置,在httpd-vhost.conf中添加,ServerName改成自己的IP地址,SSLCertificateFile和SSLCertificateKeyFile填写的路径和httpd-ssl.conf中填写的相同。

<VirtualHost *:>
SSLCertificateFile /Applications/MAMP/conf/apache/server.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/server.key
ServerName 10.51.3.163
DocumentRoot /Applications/MAMP/htdocs
</VirtualHost>

8.如果修改完上面的配置,在重启MAMP服务的时候,Apache无法开启,可以使用下面的命令行开启MAMP,并且可以查看无法开启的详细信息。

sudo /Applications/MAMP/Library/bin/apachectl start

到此,此教程HTTPS自建证书的配置完成。红色的删除线表示的是你的证书不受信任,想要变成绿色的,首先双击证书安装下你的证书,然后打开钥匙串,将证书的状态设置为始终信任,然后再访问的时候就会变成绿色了。

信任后访问网站:

参考链接:

http://blog.sina.com.cn/s/blog_a02862cb0101k4ff.html

http://www.liuchungui.com/blog/2015/09/25/zi-jian-zheng-shu-pei-zhi-httpsfu-wu-qi/

MAC使用MAMP构建自签名HTTPS环境的更多相关文章

  1. [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

    [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...

  2. Mac系统 MAMP 集成环境下搭建 Redis

    之前由于嫌弃 mac 下命令行搭建 php+mysql 环境太复杂,给自己挖了一个大坑 就是偷懒使用了名为 MAMP 的一键集成安装包 好用是好用,但是等你需要添加点模块和功能的时候就傻眼了 这几天在 ...

  3. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  4. MAMP和WAMP搭建Web环境,数据库,数据分布可视化

    MAMP和WAMP搭建Web环境,数据库,数据分布可视化 1. 数据库 用MAMP和WAMP搭建Web环境,数据分布可视化 Web环境Web服务器:Apache.Nginx,处理Web请求数据库:My ...

  5. MAC 下用 brew 搭建 PHP 开发环境

    Mac下用brew搭建PHP(LNMP/LAMP)开发环境 Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且 ...

  6. VMware Tanzu Kubernetes Grid 1.3 发布 - VMware 构建、签名和支持的开源 Kubernetes 容器编排平台的完整分发版

    Tanzu Kubernetes 集群是由 VMware 构建.签名和支持的开源 Kubernetes 容器编排平台的完整分发版.可以通过使用 Tanzu Kubernetes Grid 服务在主管集 ...

  7. mac 下配置protobuf 3.0 golang环境

    protobuf 3.0  与 之前的 protobuf 2.6 的语法是不一样的.需要重新安装一下,本机的环境是 OS X Yosemite  10.10.2 1. 不采用home brew安装,用 ...

  8. 【转】Mac OS X 中 Zsh 下 PATH 环境变量的正确设置

    在 Mac OS X 中使用 zsh,环境变量 PATH 一不小心就会变得很紊乱,表现为自己设置的路径总是被放到系统路径之后,部分路径还会有重复.这是我们不太了解 zsh 启动时加载文件的顺序和 Ma ...

  9. 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。

    为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - 博客频道 - CSDN.NET 为 Python Server Pages 和 Oracl ...

随机推荐

  1. PAT A 1119. Pre- and Post-order Traversals (30)【二叉树遍历】

    No.1119 题目:由前序后序二叉树序列,推中序,判断是否唯一后输出一组中序序列 思路:前序从前向后找,后序从后向前找,观察正反样例可知,前后序树不唯一在于单一子树是否为左右子树. 判断特征:通过查 ...

  2. IBatis.Net使用总结(二)-- IBatis返回DataTable/DataSet(网上例子的集合)

    IBatis返回DataTable,DataSet ibatis.net QueryForDataTable 完整的为ibatis.net 引入datatable支持要改动很多地方,所以描述的是最小化 ...

  3. IOS处理点空白处不自动失去焦点的问题

    objBlurFun("input"); //如果不是当前触摸点不在input上,那么都失去焦点 function objBlurFun(sDom,time){ var time ...

  4. js实现复制到剪贴板功能,兼容所有浏览器

    http://www.cnblogs.com/PeunZhang/p/3324727.html https://github.com/zeroclipboard/ZeroClipboard 复制链接到 ...

  5. 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件

    这个大坑... .... 如题,在Windows的eclipse中编写SparkSQL代码时,编写如下代码时,一运行就抛出一堆空指针异常: // 首先还是创建SparkConf SparkConf c ...

  6. css选择器总结

    (一)选择器优先级: 不同级别 1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式. 2.作为style属性写在元素内的样式 3.id选择器 4.类选择器 5.标签选择器 ...

  7. 【BZOJ】3751: [NOIP2014]解方程

    题意 求\(\sum_{i=0}^{n} a_i x^i = 0\)在\([1, m]\)内的整数解.(\(0 < n \le 100, |a_i| \le 10^{10000}, a_n \n ...

  8. CSS:在IE浏览器下,元素下沉一行的解决办法

    HTML: <ul> <li><a href="">嘻嘻嘻嘻嘻嘻</a><span>2015-12-17</spa ...

  9. 基于.NET的免费开源的模板引擎---VTemplate(转)

    1.VTemplate模板引擎的简介 VTemplate模板引擎也简称为VT,是基于.NET的模板引擎,它允许任何人使用简单的类似HTML语法的模板语言来引用.NET里定义的对象.当VTemplate ...

  10. 指针与数组的区别 —— 《C语言深度剖析》读书心得

    原书很多已经写的很清楚很精炼了,我也无谓做无意义的搬运,仅把一些基础和一些我自己以前容易搞混的地方写一下. 1. 意义: 指针: 指针也是一种类型,长度为4字节,其存放的内容只能是一个地址(4字节). ...