用golang来实现的webserver通常是是这样的

//main.go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func defaulthandler(w http.responsewriter, r *http.request) {
	io.writestring(w, "<h1>golang http</h1>")
}

func main() {
	mux := http.newservemux()
	mux.handlefunc("/", defaulthandler)
	err := http.listenandserve(":80", mux)
	if err != nil {
		fmt.println(err.error())
	}
}
http://localhosthttps://localhost

那么如何用golang来实现https呢?

//main.go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func defaulthandler(w http.responsewriter, r *http.request) {
	io.writestring(w, "<h1>golang https</h1>")
}

func main() {
	mux := http.newservemux()
	mux.handlefunc("/", defaulthandler)
	certfile := "/etc/letsencrypt/live/www.taadis.com/cert.pem"
	keyfile := "/etc/letsencrypt/live/www.taadis.com/privkey.pem"
	err := http.listenandservetls(":443", certfile, keyfile, mux)
	if err != nil {
		fmt.println(err.error())
	}
}
http.listenandserve()listenandservetls()

到此这篇关于golang实现http重定向https的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。