我正在设置我的应用程序,以通过Google的Calendar API观看日历活动。在这样做时,我必须在我的服务器上设置一个具有有效SSL证书(不是自签名)的“推送”端点。
我的生产环境在Heroku上运行,因此使用Expidited SSL可以轻松设置SSL证书。我在GoDaddy中有两个CNames设置,一个用于我的生产应用程序,另一个用于通过ngrok隧道传输的开发环境。我正在使用白色标记域隧道的付费ngrok功能(dev.mydomain.com)。
Host Points To
www saga-1234.herokussl.com
dev ngrok.com
问题是当您点击生产应用程序(www.mydomain.com)时我的ssl证书被识别,但是当您访问开发应用程序(dev.mydomain.com)时它会使用ngrok的证书。
如何设置我的ngrok隧道以使用我的ssl证书?
答案 0 :(得分:6)
如果您使用自己的域名,Ngrok的白色标记域名不支持HTTPS。仅仅因为它提供了自己的证书,您需要为您的域名提供服务。这就是您遇到证书不匹配问题的原因。
以下是您在开发机器上观看日历活动的方法:
您的本地开发机器的80端口应该可以通过https://dev.mydomain.com
访问这非常酷,在调试Google的webhook时非常有用,它需要有效的HTTPS和经过验证的根域名。
另一个有趣的诀窍是使用CloudFlare的通用SSL,在没有购买证书的情况下,指向您的开发机器的有效https://dev-machine.mydomain.com。除了您需要为ngrok客户端 - 服务器通信颁发自己的证书并使用CloudFlare的Flex SSL for dev-machine.yourdomain.com之外,步骤完全相同。
答案 1 :(得分:0)
ngrok有一个隧道和终止SSL的新功能。因此,您可以使用自己的域和HTTPS。无需在路由器或PC中打开端口。他们称之为TLS隧道。以下是GitHub repos的链接,描述了如何执行此操作。