iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0

各位夥伴晚安安,今天要來說的是在 AWS 環境下的 SSL 憑證申請。
就是那個會讓你網站網址從 http:// 變成 https:// 的小東西。

前置條件:先有域名

要申請 SSL 憑證,第一步就是 你得先有自己的域名
沒有域名就想申請憑證,就像沒有女朋友卻跑去戶政事務所說要辦結婚證書一樣尷尬。
https://ithelp.ithome.com.tw/upload/images/20250920/201410719rMXC8B20w.png

什麼是域名?域名的概念很簡單,舉例:

  • mail.google.com → Gmail
  • play.google.com → Google Play
  • maps.google.com → Google 地圖
    這些都是因為後面掛了 google.com,證明這是 Google 自家的小孩。
    所以 ACM(AWS Certificate Manager)要你證明「這個域名真的是你的」。
    不然你跑去申請 *.google.com,要真被你申請出來,那不就亂了套嗎?真要拿來用了,最後 Google 一個冷箭告你侵權,可能會賠到脫褲子。(應該不會發生這種事吧!!)

那域名去哪裡買?其實隨便你,以下幾個販賣域名的網站給你參考:

  • 中華電信 HiNet(可以順便辦個光世代)
  • AWS Route53(完全整合,一條龍辦到好)
  • GoDaddy(老外很愛)
  • PChome(我也是查了才知道原來PChome這也有賣)
    總之,在哪買?見仁見智,但重點是你至少要有一個

Region 的選擇很重要

因為我們這次 ACM 的憑證要搭配 CloudFront 用,所以 Region 必須在 N. Virginia(us-east-1)
CloudFront 算是 Global 的服務,在 AWS 裡絕大部份 Global 的服務都是跟 N. Virginia(us-east-1) 掛勾在一起的。

開始申請 SSL 公有憑證

接下來說明怎麼申請 SSL 公有憑證的步驟。

  • 進入 ACM 的控制界面 https://console.aws.amazon.com/acm/home
    選擇 Request a certificate (請求憑證)
    https://ithelp.ithome.com.tw/upload/images/20250920/20141071pN6O5qDPPV.png
  • 選擇憑證種類
    https://ithelp.ithome.com.tw/upload/images/20250920/20141071pds3x8xl7L.png
    Public certificate
    注意喔,千萬不要手殘點到 Private certificate
    因為 Public = 免費Private = 每月 400 美金
    換算台幣一萬二,這個月預算直接爆掉,老闆會用一種「想扣你薪水」的眼神看你。
    選好後,點選右下角的 Next
    https://ithelp.ithome.com.tw/upload/images/20250920/201410716d0nvZpsQ3.png
  • 填資料
    在 Domain names(網域名稱) 部分,輸入您的網域名稱。
    你可以填 www.mxxxxx.com,或者帥一點,直接申請 *.mxxxxx.com,多子域名通吃。
    Allow export(允許匯出)記得選 Disable export。考量的原因如下:
    • CloudFront 不需要實體檔案。
    • 匯出要錢,說好了要教省錢的方式呀!(笑)
    • 關閉匯出還能用最簡單的方法自動更新,少一件例行公事,多一點自己的時間。
      驗證方法:
      DNS validation – recommended,因為如果選 Email 驗證,可能驗證信會被寄到一個你根本找不到的 admin@xxx.com 信箱,結果卡到最後忘了這件事就開天窗了
      最後點後右下角的 Request 開始申請
      https://ithelp.ithome.com.tw/upload/images/20250920/20141071ADBFxLceId.png
  • 收集驗證資訊
    一會兒之後,會看到如截圖中的畫面,在這裡要特別注意的是將中間區段 Domain 部份的 CNAME name 那串 _db79a96713e9xxxxxxxxx41633bb7.mxxxxx.com. 和 CNAME value 中的 _f071137d2xxxxxxxxxxxxxxxx.xlfgrmvvlj.acm-validations.aws. 兩串像亂碼的值,先抄下來。就是 CNAME name 和 CNAME value ,待會兒會用到
    https://ithelp.ithome.com.tw/upload/images/20250920/201410710wJintWZ1k.png
  • 驗證資訊設定
    接下來你要去你的域名託管平台(Route53、HiNet、GoDaddy whatever)貼進去。
    如果你是 Route53 的用戶:恭喜,按一下「Create records in Route53」,一切設定自動完成,爽爽。
    因為我的域名託管在 HiNet ,所以就要在 HiNet 的設定界面中進行設定,如截圖:
    CNAME name 的那串像亂碼的文字去掉後面的 .mxxxxx.com 後填入紅框 1 中,因為 HiNet 已經幫我自動代入了 .mxxxxx.com 了,如果你的託管服務沒有自動代入後方的域名,那就需要將整個字串都放進去囉!在紅框 2 的選項中找到 CNAME,這是基於 ACM 要求的設定就是建立 CNAME。
    最後將上個步驟中抄下來的 CNAME value 中的那串像亂碼的字串貼到紅框 3 中。這裡要特別注意,因為這串像亂碼的文字最後有一個句點,有些託管服務在這裡最後一個字是不能夠放句點的,如果遇到有錯誤訊息的話,將最後一個句點刪除試試看。最後將新增的設定進行保存,等待 ACM 的自動認證完成。
    https://ithelp.ithome.com.tw/upload/images/20250920/20141071fSHU1htD97.png
  • 完成:綠燈 issued 就成功
    當 DNS propagate 完,ACM 檢查到 DNS托管服務域名設定的異動完成後,就會發出憑證。 這個時候可以看到 ACM 的清單當中, *.mxxxx.com的 status 是 綠色的 issued
    https://ithelp.ithome.com.tw/upload/images/20250920/20141071l579wmgbtB.png

https://ithelp.ithome.com.tw/upload/images/20250920/20141071umkIno5Mza.png
到這一步我們今天的設定就算完成了,如果你有順利的走到這一步,那就恭喜你了。 如果沒有的話,可以重讀一遍按照流程再走一趟。瞌睡蟲瘋狂來襲了,今天就先到這吧! 也感謝你有能讀到最後的耐心,希望你能成功 。

參考文件: AWS Certificate Manager 使用者指南 - https://docs.aws.amazon.com/zh_tw/acm/latest/userguide/acm-overview.html


上一篇
Day 9 - Amazon CloudFront 登場!網站的火箭加速器
下一篇
Day 11 - 讓 CloudFront 當你網站前排最肉的坦克
系列文
最適合小型工作室精打細算的服務使用法12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言