回答 Y,然後...
●啟用 SSL
這邊分兩塊來說明,一、有購買正式憑證,只要把正式憑證上到網站上即可。二、沒有正式憑證,只是要先安裝個臨時憑證,要測試 https 能不能跑而已。
我們先做第二種,第一種等正式要上線再做。
決定一個測試用的 DNS 網域名稱,例如: testc.onweb.idv.tw(相信我,這是假的,只是舉例),然後把您網域新增一筆 A 紀錄,指到 這台主機的 IP。
安裝 Certbot 客戶端來安裝和管理 SSL,說真的,我和 Certbot 不熟,反正我們正式的網站都會購買正式憑證,這裡只是暫時用一下。
# 安裝 Certbot 客戶端
sudo apt-get install python3-certbot-apache -y
依樣畫葫蘆,選 OK
申請與設定您網域名稱的憑證,注意! 網域名稱要改成您的喔!
# 請注意使用的網域名稱
sudo certbot --apache -d testc.onweb.idv.tw
這過程會複雜一點,要輸入您的 EMail(真實,能收到信的。),同意(Y),要收到通知(Y)... 然後就設定好了!
然後用 https 連線您的網址看看吧! 例如我的測試網站 https://testc.onweb.idv.tw
可以看到有鎖頭的標誌出現了,然後看看憑證資訊!
要留意憑證到期日喔! 很抱歉,我這邊不太確定,到期後會發生什麼事,如何續期? 有需要的朋友~網路上再查一下。
因為,我目前建的網站,最後都是要正式上線的,我們有買正式的 SSL 憑證,以下順帶說明一下,網站正式憑證要怎麼上線。(以下所述方式可能只是多種方式的其中一種,我使用過兩次皆能正常運作。)
先找出 Apache 的 Config File 位置,通常位於 /etc/apache2/apache2.conf
我已經購買的憑證,要拿到 apache 上使用的檔案,大概如下圖所示:
在主機上建一個資料夾,直接放在帳號的目錄下的 ssl 資料夾吧! 如: /home/jasonadmin/ssl 把這三個檔案上傳。
把 apache2.conf 順便下載下來修改( 位於主機的 /etc/apache2/ ),修改前記得備份。修改內容如下:
找到 VirtualHost 位置依下列範例新增以下內容( 應該預設是不會有的 ),以下憑證名稱要進行相對應修改喔。就是帳號名稱 jasonadmin 和 正式網站名稱 123.onweb.idv.tw (也是憑證檔案名稱)的地方。
<VirtualHost _default_:443>
ServerName 123.onweb.idv.tw
DocumentRoot /var/www/html
SSLEngine on
SSLCACertificateFile /home/jasonadmin/ssl/SO3-Bundle.crt
SSLCertificateFile /home/jasonadmin/ssl/123.onweb.idv.tw.crt
SSLCertificateKeyFile /home/jasonadmin/ssl/123.onweb.idv.tw.key
</VirtualHost>
修改完畢後存檔,上傳主機,然後就是正式上線時,置換的動作了! 以下指令請注意修改成您的真實位置喔。
# 暫停 apache
sudo systemctl stop apache2
# 複製 apache2.conf 檔前先備份
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2_20230621.conf
# 複製
sudo cp /home/jasonadmin/ssl/apache2.conf /etc/apache2/apache2.conf
對 apache2.conf 進行語法檢查。
# apache2.conf 進行語法檢查
sudo apache2ctl configtest
要出現類似如下畫面的 Syntax OK
接下來,重新啟動 apache2 便完成囉。
這篇文章是我的一個經驗紀錄,謝謝您的觀看,因為我是 Linux 小白,為了把公司的主機轉移至 Azure 雲端,邊摸石頭邊過河,是前後裝了約五台主機左右的心得記錄,也與您分享。