A TLS / SSL enabled WebServer in Go, done right - includes valid https certificates.
Go to file
AJ ONeal c67b9e7fa4 ignore bin 2020-04-28 00:04:23 -06:00
etc/letsencrypt/live initial commit 2015-07-13 16:35:12 -06:00
.gitignore ignore bin 2020-04-28 00:04:23 -06:00
LICENSE Initial commit 2015-07-13 15:04:43 -06:00
README.md doc updates 2020-04-27 23:09:34 -06:00
serve.go doc updates 2020-04-27 23:09:34 -06:00

README.md

golang-https-example

A TLS / SSL enabled WebServer in Go, done right - includes valid https certificates.

Install

Install the server and some certificates

# Clone this repo
git clone ssh://gitea@git.coolaj86.com:22042/coolaj86/golang-https-example.git
pushd golang-https-example

# Clone some valid dummy certificates
git clone git@example.com:example/localhost.example.com-certificates.git \
  ./etc/letsencrypt/live/localhost.rootprojects.org/

Test

Run the server

# Run the Code
go run serve.go \
  --port 8443 \
  --letsencrypt-path=./etc/letsencrypt/live/

View it in your browser

https://localhost.rootprojects.org:8443

Test it with openssl

openssl s_client -showcerts \
  -connect localhost:8443 \
  -servername localhost.rootprojects.org \
  -CAfile ./etc/letsencrypt/live/localhost.rootprojects.org/certs/ca/root.pem

Test it with curl

# should work
curl https://localhost.rootprojects.org:8443

# if the Root CA isn't in your bundle
curl https://localhost.rootprojects.org:8443 \
  --cacert=./etc/letsencrypt/live/localhost.rootprojects.org/certs/ca/root.pem