我正在尝试使用Golang-martini在 Heroku 上部署 HTTPS Web 端。
这是我已经完成的清单:
- 我已经在 Heroku 中启用了 SSL 端点。(它是付费插件服务)
我已经购买了我的 CA 证书密钥,它可以部署 Heroku。所以,
heroku certs
显示:(注意:公司名称/端点地址更改)
端点 || 通用名称 || 过期 || 值得信赖
xxx.herokussl.com || server.sample.com || 2016-05-25 23:59 UTC || 真的
这是我在 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)
}
这是我的问题:
如果我将
ListenAndServeTLS
端口设置为 8443(或其他),当我尝试使用curl -vI https://server.sample.com
. 它将显示错误为:“卷曲:(60)SSL证书问题:无效的证书链”
如果我将
ListenAndServeTLS
端口设置为 443,它将显示:“监听 tcp:443:绑定:权限被拒绝”
请告知我如何在 Heroku 上使用 Go-martini 部署 HTTPS,谢谢..