MAC使用MAMP构建自签名HTTPS环境

时间:2021-11-02 03:27:44

一、生成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曝出漏洞,如果只是尝试下,也可以不升级

MAC使用MAMP构建自签名HTTPS环境

二、生成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的目录下生成了证书,因为我制作证书的时候没有切换目录

MAC使用MAMP构建自签名HTTPS环境

三、修改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自建证书的配置完成。红色的删除线表示的是你的证书不受信任,想要变成绿色的,首先双击证书安装下你的证书,然后打开钥匙串,将证书的状态设置为始终信任,然后再访问的时候就会变成绿色了。

MAC使用MAMP构建自签名HTTPS环境

信任后访问网站:

MAC使用MAMP构建自签名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/