小编典典

启用S​​SL后,Revel不会转发到端口443

go

我将Revel用于一个小型应用程序并添加了SSL。当我更新配置以指向http.port =
443时,对端口80的请求将被拒绝而不是被转发。有没有办法在Revel Framework上解决此问题?谢谢。

# The port on which to listen.
http.port = 443

# Whether to use SSL or not.
http.ssl = true

# Path to an X509 certificate file, if using SSL.
http.sslcert = /root/go/src/saml/AlphaCerts/cert.crt

# Path to an X509 certificate key, if using SSL.
http.sslkey = /root/go/src/saml/star_home_com.key

阅读 239

收藏
2020-07-02

共1个答案

小编典典

您可以自己添加一个简单的重定向处理程序。

尝试将其放入app/init.go文件中:

httpRedirectServer := &http.Server{Addr: ":80", Handler: http.HandlerFunc(
    func(w http.ResponseWriter, r *http.Request) {
        http.Redirect(w, r, fmt.Sprintf("https://%s%s", r.Host, r.RequestURI), 
                      http.StatusMovedPermanently)
    })}
go httpRedirectServer.ListenAndServe()

请注意,在Revel的开发模式下,您必须首先在端口443上访问您的应用程序,才能正确启动Revel,然后运行端口80重定向代​​码。

2020-07-02