一、生成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/