2014-05-25 50 views
9

我正在設置我的應用程序以通過Google的Calendar API觀看日曆活動。爲此,我必須在我的服務器上設置一個具有有效SSL證書(非自簽名)的「推送」端點。使用SSL Cert for ngrok開發環境

我的生產環境在Heroku上運行,因此使用Expidited SSL設置SSL證書非常簡單。我在GoDaddy中安裝了兩個CNames,一個用於我的生產應用程序,一個用於我的開發環境,通過ngrok進行隧道傳輸。我正在使用白色標記域隧道(dev.mydomain.com)的付費ngrok功能。

Host   Points To 

www   saga-1234.herokussl.com 
dev   ngrok.com 

的問題是,當你到了生產中的應用(www.mydomain.com)我的SSL證書是公認的,但是當你訪問開發應用程序(dev.mydomain.com)它使用ngrok的證書。

enter image description here

如何設置我的ngrok隧道用我的SSL證書?

+1

我看着創建一個通配符SSL證書,但我不知道這將覆蓋我的dev的子域或只是子域在Heroku –

+0

只是好奇,不應該在'CNAME'入口是這樣的'dev mydev_mydomain.ngrok.com'? –

+0

自定義域名(白標籤網址)上的隧道是ngrok的付費功能。 –

回答

5

如果您使用自己的域名,Ngrok的白色標記域不支持HTTPS。僅僅因爲它提供了自己的證書,您需要爲您的域名提供服務。這就是您遇到證書不匹配問題的原因。

這裏是你可以做些什麼來觀看您的開發機器上的日曆事件:

  1. 點ngrok.mydomain.com到另一臺服務器,比方說,一個新的EC2 微實例
  2. 點通配符CNAME到ngrok .mydomain.com來
  3. 編譯ngrok服務器和客戶端使用證書(而不是 ngrok.com)
  4. 運行在EC2實例ngroku服務器
  5. 在你的dev的機器配置客戶端使用ngrok.mydomain.com代替ngroku.com
  6. 運行ngrok -subdomain =開發80

你的本地開發機的80端口應通過https://dev.mydomain.com

可以訪問

這真的很酷,在調試Google的webhook時非常有用,它需要有效的HTTPS和經過驗證的根域名。

另一個有趣的技巧是使用CloudFlare的通用SSL有一個有效的https://dev-machine.mydomain.com指向您的開發機器而無需購買證書。除了您需要爲ngrok客戶端 - 服務器通信頒發您自己的證書以及將CloudFlare的Flex SSL用於dev-machine.yourdomain.com之外,其他步驟完全相同。

+0

哇!這是一個偉大的領先,謝謝!我需要試一試並重新檢查。 –