http 和 https 的差別在於,後者是安全的傳輸協定
本篇介紹如何在本機端使用 https
要使用 https 總共有三個步驟
將 /usr/local/etc/httpd/httpd.conf 的一些註解 # 移除掉
如下所示
LoadModule socache_shmcb_module lib/httpd/modules/mod_socache_shmcb.so
LoadModule ssl_module lib/httpd/modules/mod_ssl.so
Include /usr/local/etc/httpd/extra/httpd-ssl.conf
將 /usr/local/etc/httpd/extra/httpd-ssl.conf
監聽埠號 Listen 8443 改成 Listen 443
將 /usr/local/etc/httpd/extra/httpd-ssl.conf
<VirtualHost default_:8443>
和下面的 ServerName www.example.com:8443
8443 改成 443
並將 <VirtualHost default_:8443>
下面的這兩行程式碼註解
DocumentRoot "/usr/local/var/www"
ServerName www.example.com:8443
到 /usr/local/etc/httpd/extra/httpd-vhosts.conf
建立一個 virtual host
DocumentRoot 網站檔案的目錄
ServerName 伺服器名稱
SSLCertificateFile 憑證的檔案位置
SSLCertificateKeyFile 憑證鑰匙的檔案位置
在 /usr/local/etc/httpd 資料夾底下
建立憑證設定檔 ssl.conf
[dn] 為憑證的相關資訊
C 國家名稱
ST 州或省名稱
L 地區名稱
O 機構名稱(公司名稱)
OU 組織單位名稱(公司部門)
emailAddress 電子郵件
CN 通用名(伺服器名稱)
上面建立 VirtualHost 的 ServerName 為 localhost
所以 CN 設為 localhost
[alt_names] 為域名
可以視你的需求多設定幾個
目前需要的是本機端,所以設定 localhost 和 127.0.0.1
因為上面設定 SSLCertificateFile 位置在
/usr/local/etc/httpd 資料夾底下
所要先切換到指定資料夾再建立憑證
$ cd /usr/local/etc/httpd
$ openssl req -x509 -new -nodes -sha256 -utf8 -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt -config ssl.conf
建立好之後測試看看,有沒有問題
$ sudo apachectl configtest
沒有問題的話就重啟伺服器
$ sudo apachectl -k restart
重啟之後可以看 /usr/local/var/log/httpd/error_log 有沒有錯誤訊息
以下是 mac 信任憑證的方法
接下來會看到 localhost 憑證,並將它打開
接下來就能使用 https://localhost 了