[架站] 從零開始架設網站 – Apache SSL篇
發布日期:2023/01/18
瀏覽次數:1262
Apache成功運作後,來介紹怎麼設定SSL,讓網站從http變成https。
首先一樣打開httpd.conf,滑到最下面,找到下面這段程式碼。一樣把前方的註解刪掉,就可以引用這個設定檔。
Include conf/extra/httpd-ssl.conf
按照上面那段的程式碼,可以知道SSL的相關設定,是在conf/extra/這個路徑底下的httpd-ssl.conf,打開這個檔案後,往下滑找到VirtualHost這個標籤,可以看到下面同樣有站台資訊,這邊的DocumentRoot、ServerName以及ServerAdmin跟原本在httpd.conf裡的資訊一樣。
再往下滑一點可以看到SSLCertificateFile以及SSLCertificateKeyFile,這邊要填的就是證書以及私鑰檔案的路徑。
SSLCertificateFile "${SRVROOT}/conf/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/server.key"
設定好SSL相關的設定檔後,接著再回到httpd.conf這個檔案,我們還有兩個地方要設定,第一個是擴充模組的部分,SSL會需要用到一些擴充模組,在httpd.conf的上面可以看到有一長串LoadModule開頭的程式碼,這邊都是可以引用的擴充模組。下面三個是SSL會用的模組,把前方的註解刪掉後引入就好囉。
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so
我們剛才引入的SSL的設定檔,以及擴充模組,再來第二個要設定的地方,叫做Virtual host,這個Virtual host也就是剛才在httpd-ssl.conf裡出現的VirtualHost這個標籤,Apache他其實只能開設一個主站台,也就是監聽一個Port,只要是第二個Port就要用Virtual host虛擬站台的方式建立。
所以,在這邊要在引用另一個設定檔httpd-vhosts.conf,虛擬站台的設定檔,引用的地方就在剛才SSL的上面一些,路徑同樣是在conf/extra底下。
Include conf/extra/httpd-vhosts.conf
我們打開httpd-vhosts.conf後,裡面有兩個預設的範例,同樣是填入站台名稱、檔案的路徑這些,唯獨不同的是VirtualHost標籤後方的Port號,往前回顧一下可以看到在httpd-ssl.conf裡,VirtualHost的標籤寫的是443,也就是https的標準port號,所以在httpd-vhosts.conf這邊同樣的,我們只要從httpd-ssl.conf照抄過來就好。
這邊不要忘了,在SSL的設定檔裡,除了站台名稱、檔案路徑之外,我們在VirtualHost標籤哩,還有寫到SSLEngine on、SSLCertificateFile以及SSLCertificateKeyFile這些SSL相關的設定,在虛擬站台的設定檔內,同樣也都要寫到,站台才會正常運作哦。
Like