MAC

[教學] 將 MAC 內建的 Apache 網站伺服器,開啟 HTTPS 安全憑證

2019/09/02

梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
  上回已與大家分享,開啟MAC內建的Apache網站伺服器的功能,完全不用再安裝任何的套件,只需一道指令,立即就可將MAC變成一台網站伺服器主機,甚至還可開啟PHP,讓網站支援PHP,這對於平常開發一些小程式而言,相當的方便,且也不用再被軟體綁架,同時檔案也更易管理。

  當把Apache開啟後,由於都是本機端測試,因此只需在網址列輸入http://localhost,立即就可看到自己所開發的小程式,也因為是本機模擬,所以網址就只能使用http,因此需等網頁上線後,才能套用https安全憑證,並檢測看網頁是否能正常運作,這樣實在有點不便,因此現在只需透過openssl,就可讓本機端開啟安全憑證,至於要怎麼來發憑證與設定,現在就一塊來看看囉!


Step1
首先,先進到/etc/apache2/的目錄下,再新增一個ssl資料夾。
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step2
接著開啟終端機,輸入下方的語法,當發送完成時,分別在ssl資料夾中,就會看到localhost.key與loaclhost.crt二個檔案。
一、進入ssl目錄下
cd /etc/apache2/ssl/

二、配發openssl憑證
openssl req -x509 -out localhost.crt -keyout localhost.key
  -newkey rsa:2048 -nodes -sha256
  -subj '/CN=localhost' -extensions EXT -config <(
   printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step3
接著開啟「鑰匙圈存取」面板,再將剛所產生的localhost.crt拖曳到視窗中。
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step4
接著雙響localhost.crt憑證,再將「信任」設為「永遠信任」。
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step5
使用文字編輯器,開啟/private/etc/apache2/extra/httpd-ssl.conf文件,並用搜尋關鍵字的方式,將下方三個設定的註解拿掉。
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step6
接著再開啟/private/etc/apache2/extra/httpd-ssl.conf文件,輸入下方的設定。
Listen 443
SSLCertificateFile /etc/apache2/ssl/localhost.crt
SSLCertificateKeyFile /etc/apache2/ssl/localhost.key
<VirtualHost default:443>
    DocumentRoot "/Library/WebServer/Documents"
    SSLEngine on
</VirtualHost>
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step7
都完成後,儲存再到終端機中,輸入「sudo apachectl configtest」,當看到Syntax OK就表示設定檔沒問題。
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證
Step8
這時再重啟apache,開啟瀏覽器,並輸入https://localhost,哈!這時鎖頭就出現啦!如此一來在本機端的情況下,也可使用https進行開發與測試,就不用等到上線後,真的超方便的啦!
梅問題-[教學] 將MAC內建的Apache開啟HTTPS安全憑證