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
。次のようにエラーが表示されます。"curl: (60) SSL 証明書の問題: 証明書チェーンが無効です"
ListenAndServeTLS
ポートを 443に設定すると、次のように表示されます。「リッスン tcp :443: バインド: 許可が拒否されました」
Heroku で Go-martini を使用して HTTPS をデプロイする方法を教えてください。ありがとうございます。