node.jsnginxamazon-ec2actions-on-googlejovo-framework

Unable to view the webapp using interactive canvas on Devices


I have used the google's interactive canvas api to deliver visual content along with voice interaction for my google action.

Interactive canvas displays content through a https webapp. I deployed the nodejs webapp I wrote to an AWS EC2 instance and it is working fine, I can see the webapp through my browser as well as on the google actions console, but it is not rendering on any of the google assistant enabled devices.

I used nginx to allow forwarding of requests from http and https to port 4001 and obtained a self signed certificate through openssl for https. I have opened port 80 and 443 for my instance.

this is how my webapp is listening to the port :

app.listen(4001, () => {
    console.info(`Local server started`);
});

Solution

  • Attach a domain name to your EC2 instance as Google Assistance will not resolve a https request with an openssl certificate, you will need a proper certificate (something like let's encrypt) and for that you need a domain name