一、生成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 2048
-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 3650
-outform pem指定證書生成的格式,默認是pem,所以這個命令也可以寫作成
sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
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 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/