refactor X-Forwarded-Proto
This commit is contained in:
parent
c0c540dc09
commit
b0f7b71453
1 changed files with 11 additions and 11 deletions
|
@ -132,19 +132,19 @@ func (x *XForwarded) rewrite(outreq *http.Request) {
|
||||||
|
|
||||||
xfProto := outreq.Header.Get(xForwardedProto)
|
xfProto := outreq.Header.Get(xForwardedProto)
|
||||||
if xfProto == "" {
|
if xfProto == "" {
|
||||||
|
if isWebsocketRequest(outreq) {
|
||||||
|
if outreq.TLS != nil {
|
||||||
|
outreq.Header.Set(xForwardedProto, "wss")
|
||||||
|
} else {
|
||||||
|
outreq.Header.Set(xForwardedProto, "ws")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if outreq.TLS != nil {
|
if outreq.TLS != nil {
|
||||||
outreq.Header.Set(xForwardedProto, "https")
|
outreq.Header.Set(xForwardedProto, "https")
|
||||||
} else {
|
} else {
|
||||||
outreq.Header.Set(xForwardedProto, "http")
|
outreq.Header.Set(xForwardedProto, "http")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if isWebsocketRequest(outreq) {
|
|
||||||
if outreq.Header.Get(xForwardedProto) == "https" || outreq.Header.Get(xForwardedProto) == "wss" {
|
|
||||||
outreq.Header.Set(xForwardedProto, "wss")
|
|
||||||
} else {
|
|
||||||
outreq.Header.Set(xForwardedProto, "ws")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if xfPort := outreq.Header.Get(xForwardedPort); xfPort == "" {
|
if xfPort := outreq.Header.Get(xForwardedPort); xfPort == "" {
|
||||||
|
|
Loading…
Reference in a new issue