1、生成HTTPS自签名证书
1.下载最新的openssl的安装包,下载地址:https://www.openssl.org/source/html
2.解压最新版openssl,能够直接双击使用MAC自带的解压工具解压.tar文件apache
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曝出漏洞,若是只是尝试下,也能够不升级工具
2、生成HTTPS自签名证书
1.生成密钥网站
openssl genrsa -des3 -out private.key 2048
-des3表明加上了加密,后面的2048是表明生成的密钥的位数;输入完这个命令会提示你输入:private key,本身设置一个稍微强一些的密码ui
2.生成证书请求加密
openssl req -new -key private.key -out server.csr
这一步须要填写一些信息,其中Common Name (e.g. server FQDN or YOUR name) []这个须要填写你的域名或服务器地址。我没有域名,就填写iP地址。一个证书只能绑定一个IP地址,IP地址变化了,须要从新产生证书。spa
3.生成服务器的私钥,去除密钥口令命令行
openssl rsa -in private.key -out server.key
4.使用私钥为证书请求签名,生成给服务器签署的证书,格式是x509的PEM格式orm
openssl x509 -req -in server.csr -out server.crt -outform pem -signkey server.key -days 3650
-outform pem指定证书生成的格式,默认是pem,因此这个命令也能够写做成
sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
5.在openssl的目录下生成了证书,由于我制做证书的时候没有切换目录
3、修改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 8080
5.修改http-ssl.conf中的DocumentRoot和ServerName,这个DocumentRoot和httpd.conf中的相同
DocumentRoot "/Applications/MAMP/htdocs" ServerName localhost:8080
6.修改虚拟目录的监听的端口号
<VirtualHost _default_:8080>
7.修改虚拟目录的配置,在httpd-vhost.conf中添加,ServerName改为本身的IP地址,SSLCertificateFile和SSLCertificateKeyFile填写的路径和httpd-ssl.conf中填写的相同。
<VirtualHost *:8080> 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/