Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku 为ngrok开发环境使用SSL证书_Heroku_Google Api_Ssl Certificate_Ngrok - Fatal编程技术网

Heroku 为ngrok开发环境使用SSL证书

Heroku 为ngrok开发环境使用SSL证书,heroku,google-api,ssl-certificate,ngrok,Heroku,Google Api,Ssl Certificate,Ngrok,我正在设置我的应用程序,通过谷歌的日历API观看日历事件。为此,我必须在服务器上设置一个具有有效SSL证书(非自签名)的“推送”端点 我的生产环境在Heroku上运行,因此使用扩展SSL设置SSL证书很容易。我在GoDaddy设置了两个CNames,一个用于我的生产应用程序,另一个用于通过ngrok隧道传输的开发环境。我正在使用白标域隧道(dev.mydomain.com)的付费ngrok功能 问题是,当您访问生产应用程序(www.mydomain.com)时,我的ssl证书会被识别,但当您访问

我正在设置我的应用程序,通过谷歌的日历API观看日历事件。为此,我必须在服务器上设置一个具有有效SSL证书(非自签名)的“推送”端点

我的生产环境在Heroku上运行,因此使用扩展SSL设置SSL证书很容易。我在GoDaddy设置了两个CNames,一个用于我的生产应用程序,另一个用于通过ngrok隧道传输的开发环境。我正在使用白标域隧道(dev.mydomain.com)的付费ngrok功能

问题是,当您访问生产应用程序(www.mydomain.com)时,我的ssl证书会被识别,但当您访问开发应用程序(dev.mydomain.com)时,它会使用ngrok的证书


如何设置ngrok隧道以使用ssl证书?

如果您使用自己的域,ngrok的白色标签域不支持HTTPS。仅仅因为它提供自己的证书,您需要在其中提供您的域的证书。这就是为什么您会遇到证书不匹配问题

以下是您可以在dev机器上观看日历事件的方法:

  • 将ngrok.mydomain.com指向另一台服务器,比如说新的EC2 微实例
  • 将通配符CNAME指向ngrok.mydomain.com
  • 编译ngrok服务器和客户端以使用您的证书(而不是 (ngrok.com)
  • 在EC2实例上运行ngroku服务器
  • 在您的开发机器上,将客户端配置为使用ngrok.mydomain.com而不是ngroku.com
  • 运行ngrok-subdomain=dev 80
  • 本地开发人员计算机的80端口应可通过

    这真的很酷,在调试Google的Webhook时非常有用,它需要有效的HTTPS和验证的根域名


    另一个有趣的技巧是使用CloudFlare的universal SSL使有效的指针指向您的开发人员机器,而无需购买证书。步骤完全相同,只是您需要为ngrok客户端-服务器通信颁发自己的证书,并使用CloudFlare的Flex SSL for dev machine.yourdomain.com。

    ngrok有一个新功能,可以隧道和终止SSL。因此,您可以使用自己的域和HTTPS。不需要打开路由器或PC中的端口。他们称之为TLS隧道。下面是一个指向GitHub repos的链接,该链接描述了如何执行此操作

    Host           Points To
    
    www            saga-1234.herokussl.com
    dev            ngrok.com
    

    我已经考虑过创建一个通配符SSL证书,但不确定这是否会覆盖我的开发子域或Heroku上的子域只是好奇,
    CNAME
    中的条目不应该类似于
    dev mydev_mydomain.ngrok.com
    ?自定义域上的隧道(白标签URL)是ngrok的付费功能。哇!这是一个伟大的线索,谢谢!我需要试一下,然后再登记。