我想用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进行核对。 –