我想用Golang-martini在Heroku上部署HTTPS Web端。在Heroku服務器上部署golang martini HTTPS
這裏是我已經做了列表:
- 我已經能夠在Heroku的SSL端點。 (它是付費插件服務)
我已經購買了我的CA證書密鑰,它可以部署Heroku。所以,
heroku certs
顯示:(注:公司名稱/端點地址變更)
端點||通用名稱||過期||可信
xxx.herokussl.com || server.sample.com || 2016-05-25 23:59 UTC || True
這裏是我在Golang的代碼示例。
m := martini.Classic()
martini.Env = martini.Prod
m.Use(secure.Secure(secure.Options{
SSLRedirect: false,
}))
//Because I want to keep HTTP and HTTPs enable.
go func() {
if err := http.ListenAndServe(":"+os.Getenv("PORT"), m); err != nil {
log.Println(err)
}
}()
// HTTPS:
if err := http.ListenAndServeTLS(":443", "server.crt", "server.key", m); err != nil {
log.Println(err)
}
這裏是我的問題:
如果我在8443(或別的東西)設置
ListenAndServeTLS
端口,它會顯示錯誤,當我試圖用curl -vI https://server.sample.com
測試。它會顯示錯誤爲:「捲曲:(60)SSL證書的問題:無效的證書鏈」
如果我設置
ListenAndServeTLS
端口443,它會顯示:「聽TCP: 443:綁定:權限被拒絕」
請告訴我如何部署的HTTPS在Heroku上的Go-馬提尼,感謝..
嗨inf,謝謝你的回覆。但是我發現它在Heroku的Rails中運行良好。 http://readysteadycode.com/howto-setup-ssl-with-rails-and-heroku –
@EvanLin我對Rails沒有經驗,但我想所有的設置都是將http請求重定向到https並設置HSTS加上也許一些其他的東西。 – inf
謝謝,如果它是真的,我會與Heroku進行覈對。 –