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`);
});
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