cmd/golangorg: remove autocert support
It was unused and incomplete.
It was potentially needed a while ago, back when the golang.org
website was running on a different Google Cloud Platform service.
It's not needed now, and can be re-added in the future
if it becomes needed again.
Change-Id: Id52945adf18b1e34f411f9a2eef6bd21889c6c1a
Reviewed-on: https://go-review.googlesource.com/c/website/+/197957
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
diff --git a/cmd/golangorg/autocert.go b/cmd/golangorg/autocert.go
deleted file mode 100644
index 9c2da41..0000000
--- a/cmd/golangorg/autocert.go
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build autocert
-
-// This file adds automatic TLS certificate support (using
-// golang.org/x/crypto/acme/autocert), conditional on the use of the
-// autocert build tag. It sets the serveAutoCertHook func variable
-// non-nil. It is used by main.go.
-//
-// TODO: make this the default? We're in the Go 1.8 freeze now, so
-// this is too invasive to be default, but we want it for
-// https://beta.golang.org/
-
-package main
-
-import (
- "crypto/tls"
- "flag"
- "net"
- "net/http"
- "time"
-
- "golang.org/x/crypto/acme/autocert"
- "golang.org/x/net/http2"
-)
-
-var (
- autoCertDirFlag = flag.String("autocert_cache_dir", "/var/cache/autocert", "Directory to cache TLS certs")
- autoCertHostFlag = flag.String("autocert_hostname", "", "optional hostname to require in autocert SNI requests")
-)
-
-func init() {
- runHTTPS = runHTTPSAutocert
- certInit = certInitAutocert
- wrapHTTPMux = wrapHTTPMuxAutocert
-}
-
-var autocertManager *autocert.Manager
-
-func certInitAutocert() {
- autocertManager = &autocert.Manager{
- Cache: autocert.DirCache(*autoCertDirFlag),
- Prompt: autocert.AcceptTOS,
- }
- if *autoCertHostFlag != "" {
- autocertManager.HostPolicy = autocert.HostWhitelist(*autoCertHostFlag)
- }
-}
-
-func runHTTPSAutocert(h http.Handler) error {
- srv := &http.Server{
- Handler: h,
- TLSConfig: &tls.Config{
- GetCertificate: autocertManager.GetCertificate,
- },
- IdleTimeout: 60 * time.Second,
- }
- http2.ConfigureServer(srv, &http2.Server{})
- ln, err := net.Listen("tcp", ":443")
- if err != nil {
- return err
- }
- return srv.Serve(tls.NewListener(tcpKeepAliveListener{ln.(*net.TCPListener)}, srv.TLSConfig))
-}
-
-func wrapHTTPMuxAutocert(h http.Handler) http.Handler {
- return autocertManager.HTTPHandler(h)
-}
-
-// tcpKeepAliveListener sets TCP keep-alive timeouts on accepted
-// connections. It's used by ListenAndServe and ListenAndServeTLS so
-// dead TCP connections (e.g. closing laptop mid-download) eventually
-// go away.
-type tcpKeepAliveListener struct {
- *net.TCPListener
-}
-
-func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error) {
- tc, err := ln.AcceptTCP()
- if err != nil {
- return
- }
- tc.SetKeepAlive(true)
- tc.SetKeepAlivePeriod(3 * time.Minute)
- return tc, nil
-}
diff --git a/cmd/golangorg/main.go b/cmd/golangorg/main.go
index 3a300ee..b4665e4 100644
--- a/cmd/golangorg/main.go
+++ b/cmd/golangorg/main.go
@@ -164,10 +164,6 @@
flag.Usage = usage
flag.Parse()
- if certInit != nil {
- certInit()
- }
-
playEnabled = *showPlayground
// Check usage: server and no args.
@@ -311,30 +307,11 @@
go corpus.RunIndexer()
}
- if runHTTPS != nil {
- go func() {
- if err := runHTTPS(handler); err != nil {
- log.Fatalf("ListenAndServe TLS: %v", err)
- }
- }()
- }
-
// Start http server.
if *verbose {
log.Println("starting HTTP server")
}
- if wrapHTTPMux != nil {
- handler = wrapHTTPMux(handler)
- }
if err := http.ListenAndServe(*httpAddr, handler); err != nil {
log.Fatalf("ListenAndServe %s: %v", *httpAddr, err)
}
}
-
-// Hooks that are set non-nil in autocert.go if the "autocert" build tag
-// is used.
-var (
- certInit func()
- runHTTPS func(http.Handler) error
- wrapHTTPMux func(http.Handler) http.Handler
-)