I first initially had my skill running on my local machine with an nginx reverse proxy that would accept SSL requests from the alexa service no problem using LetsEncrypt generated certificates. I then decided to try hosting it on an EC2 instance with a golang server (https://github.com/mikeflynn/go-alexa/tree/master/skillserver) listening on :443 using newly generated LetsEncrypt certificates. The server receives the requests from the Service Simulator, but returns the following error:
"http: TLS handshake error from 188.8.131.52:19235: remote error: tls: unknown certificate"
The service response from the Service Simulator returns:
"There was an exception during the SSL hand shake. Please check the certificate you have provided."
When I hit the HTTPS endpoint I defined in the skill configuration, it shows them as valid certificates. I read somewhere that it is likely a problem with LetsEncrypt certs which is confusing considering I have them working on my local nginx reverse proxy. With that being said, I generated self-signed certs as described here: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/testing-an-alexa-skill#create-a-private-key-and-self-signed-certificate-for-testing which I uploaded to the developer console just for testing purposes. The golang webserver was not responsive and did not see any of the requests being sent from the Service Simulator. The service response returned:
"The remote endpoint could not be called, or the response it returned was invalid."
I've spent days trying to troubleshoot this, any ideas?