Skip to content

Instantly share code, notes, and snippets.

@reactima
Forked from scrivy/create cert.txt
Last active January 28, 2023 14:41
Show Gist options
  • Save reactima/551f15fd8f2cf9b3090ed934b6d1c4db to your computer and use it in GitHub Desktop.
Save reactima/551f15fd8f2cf9b3090ed934b6d1c4db to your computer and use it in GitHub Desktop.
self signed https localhost proxy with golang
install go and openssl
mac os x: brew install go openssl
Generate private key and certificate signing request
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
start the proxy
go run httpsproxy.go
package main
import (
"log"
"net/http"
"net/http/httputil"
"net/url"
)
func main() {
localProxyUrl, _ := url.Parse("http://127.0.0.1:8100/")
localProxy := httputil.NewSingleHostReverseProxy(localProxyUrl)
http.Handle("/", localProxy)
log.Println("Serving on localhost:8080")
log.Fatal(http.ListenAndServeTLS(":8080", "server.crt", "server.key", nil))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment