一、生成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. [.NET]二维码生成

    又好一段时间没有写写东西了,继续回归原来的模式,多做记录,最近要实现个unity的二维码方面的功能,首先就要解决生成二维码的问题,这个倒是有这方面的组件,然后我通过强大的反编译工具Reflector( ...

  2. JS里面的两种运动函数

    最新学了一个新的运动函数,与最初学习的有所不同,第一个运动是根据运动速度完成运动 ,第二个则是根据运动的时间来完成运动,而且把之前的函数都进行了一些兼容处理,在这里列出了看一下: 第一种animate ...

  3. 基于淘宝弹性布局方案lib-flexible的问题研究

    上篇文章<淘宝弹性布局方案lib-flexible实践>结合一个简单的实例,说明了lib-flexible的基本用法,但是lib-flexible的这种适配方式在适配的时候会修改viewp ...

  4. [html] 有利于seo优化的div+css命名规范

    搜索引擎优化(seo)对命名规范有很多要求,下面是我收集的一些当下主流的命名(还是比较常用的): CSS样式命名 说明 网页公共命名 #wrapper 页面外围控制整体布局宽度 #container或 ...

  5. Python实战2( 接上):扫描多余中文

    还是接上一篇,扫描多余中文,支持自定义忽略字段 源代码,详看   http://pan.baidu.com/s/1ntC78Zv   ScanChinese.zip

  6. java 对象输入输出流

    对象的输入输出流的作用: 用于写入对象 的信息读取对象的信息. 对象的持久化. 比如:用户信息.              ObjectInputStream   : 对象输入流            ...

  7. (学)解决VMware Taking ownership of this virtual machine failed

    原文:http://blog.csdn.net/fisher_jiang/article/details/6992588背景: 一次crash可能会造成虚拟机锁死的情况发生现象:点击take owne ...

  8. 使用XML文件记录操作日志,并从后往前读取操作日志并在richTextBox1控件中显示出来

    #region 获取本地程序操作记录日志 /// <summary> /// 获取本地程序更新日志信息(由后往前读取) /// </summary> private void ...

  9. 登录FTP,下载并读取文件内容

    maven 添加jar <dependency> <groupId>commons-net</groupId> <artifactId>commons- ...

  10. vb6保存项目到c盘的安装目录

    工程保存在安装目录("C:\Program Files (x86)\Microsoft Visual Studio\VB98\errhandler1.vbp")里. 文件管理器找不 ...