事前準備
1. 申請AWS服務,並開啟一個EC2的instance (參考這裡)
2. 在 instance安裝node js (參考這裡)
3. 申請 Let's Encrypt SSL憑證 (這裡不贅述)

步驟說明
1. 申請Alexa skill kits 服務 (參考這裡)
2. EC2 nodejs 設定
3. Alexa skill kits web server 設定與測試

1. 申請Alexa skill kits 服務
可直接參考我之前的文章,的步驟 2,3
2.註冊Alexa開發帳號
3.設定Alexa Skills Kit


2. EC2 nodejs 設定

線至EC2 instance 並建立資料夾" alexa-app ",進入該資料夾,在建立一個子資料夾"ssl",將從 Let's Encrypt 申請的憑證放入 "ssl"資料夾
$ mkdir alexa-app
$ cd alexa-app
$ mkdir ssl


下載以下檔案,放至 alexa-app資料夾

放置完成後,輸入
$ npm install



至EC2 console,編輯該instance Security Groups



編輯 inbounds

開放 http跟https port




3. Alexa skill kits web server 設定與測試
Alexa skill kits的Configuration,
在Endpoint選項選擇HTTPS
在Default欄位,填入你的網域名稱+/alexa,並存檔,
https:// your.domain.name.com/alexa
注意該網域要通過 Let's Encrypt 認證。


完成以上步驟後,就可以開始測試
輸入
Alexa , find light control

成功的話,Service Response會回復一串json格式,如下圖




如果失敗的話,檢查一下, Let's Encrypt SSL 的網域是否有效
在瀏覽器輸入你網域位置,如果出現以下畫面,代表ssl認證有問題


另萬,Alexa服務只開放port 443 web server,
意思是指,你的web server 必須加入ssl且只能聽https預設port 443

Reference: