diff options
| author | Russ Cox <rsc@golang.org> | 2021-08-20 13:36:41 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2021-08-20 18:38:02 +0000 |
| commit | b742e160ceecf7804bbf6782365009355c94740a (patch) | |
| tree | 286c3da9ba59d673a23b9f52479aa89e4f6900ae /cmd/golangorg/server.go | |
| parent | 19b2f83d87be6ca8e0188edf5cb28611777e1caf (diff) | |
| download | go-x-website-b742e160ceecf7804bbf6782365009355c94740a.tar.xz | |
cmd/golangorg: disable China detection on go.dev
Go.dev has never had golang.org's China detection
(which is there for historical reasons),
so we don't need to start now.
This fixes a problem with go.dev/blog redirecting to
golang.google.cn for users who are not actually in China.
Fixes golang/go#47846.
Change-Id: Ie1545c46aa881fd0ff3bccecf03002659a397c73
Reviewed-on: https://go-review.googlesource.com/c/website/+/344010
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Julie Qiu <julie@golang.org>
Website-Publish: Russ Cox <rsc@golang.org>
Diffstat (limited to 'cmd/golangorg/server.go')
| -rw-r--r-- | cmd/golangorg/server.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cmd/golangorg/server.go b/cmd/golangorg/server.go index 368d7f19..8a7d17a2 100644 --- a/cmd/golangorg/server.go +++ b/cmd/golangorg/server.go @@ -377,14 +377,15 @@ var validHosts = map[string]bool{ } // hostEnforcerHandler redirects http://foo.golang.org/bar to https://golang.org/bar. -// It also forces all requests coming from China to use golang.google.cn. +// It also forces all requests coming from China for golang.org to use golang.google.cn. func hostEnforcerHandler(h http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { isHTTPS := r.TLS != nil || r.Header.Get("X-Forwarded-Proto") == "https" || r.URL.Scheme == "https" defaultHost := "golang.org" - isValidHost := validHosts[strings.ToLower(r.Host)] + host := strings.ToLower(r.Host) + isValidHost := validHosts[host] - if googleCN(r) { + if googleCN(r) && strings.HasSuffix(host, "golang.org") { // golang.google.cn is the only web site in China. defaultHost = "golang.google.cn" isValidHost = strings.ToLower(r.Host) == defaultHost |
