我将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
您可以自己添加一个简单的重定向处理程序。
尝试将其放入app/init.go文件中:
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重定向代码。