Alexa skill kits connect to AWS EC2 with nodejs
事前準備
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: