我正在努力设置我的应用程序以通过 Google 的日历 API 观看日历事件。为此,我必须在我的服务器上设置一个具有有效 SSL 证书(非自签名)的“推送”端点。
我的生产环境在 Heroku 上运行,因此使用 Expidited SSL 可以轻松设置 SSL 证书。我在 GoDaddy 中设置了两个 CName,一个用于我的生产应用程序,另一个用于通过 ngrok 隧道传输的开发环境。我正在使用白标域隧道 (dev.mydomain.com) 的付费 ngrok 功能。
Host Points To
www saga-1234.herokussl.com
dev ngrok.com
问题是当您访问生产应用程序 (www.mydomain.com) 时,我的 ssl 证书被识别,但是当您访问开发应用程序 (dev.mydomain.com) 时,它使用 ngrok 的证书。
如何设置我的 ngrok 隧道以使用我的 ssl 证书?
最佳答案
如果您使用自己的域,Ngrok 的白标域不支持 HTTPS。仅仅因为它提供自己的证书,您需要在其中提供域的证书。这就是您遇到证书不匹配问题的原因。
以下是您可以在开发机器上观看日历事件的操作:
微实例
ngrok.com)
您的本地开发机器的 80 端口应该可以通过 https://dev.mydomain.com 访问
这真的很酷,在调试 Google 的 webhook 时非常有用,这需要有效的 HTTPS 和经过验证的根域名。
另一个有趣的技巧是使用 CloudFlare 的通用 SSL 来获得有效的 https://dev-machine.mydomain.com无需购买证书即可指向您的开发机器。步骤完全相同,只是您需要为 ngrok 客户端-服务器通信颁发自己的证书,并为 dev-machine.yourdomain.com 使用 CloudFlare 的 Flex SSL。
关于heroku - 在 ngrok 开发环境中使用 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23852427/