AJ ONeal
9 years ago
4 changed files with 61 additions and 1 deletions
@ -1,2 +1,53 @@ |
|||
# golang-https-example |
|||
golang-https-example |
|||
==================== |
|||
|
|||
A TLS / SSL enabled WebServer in Go with, done right - includes valid https certificates. |
|||
|
|||
Install |
|||
======= |
|||
|
|||
Install the server and some certificates |
|||
|
|||
```bash |
|||
# Clone this repo |
|||
git clone git@github.com:coolaj86/golang-https-example.git |
|||
pushd golang-https-example |
|||
|
|||
# Clone some valid dummy certificates |
|||
git clone git@github.com:Daplie/localhost.daplie.com-certificates.git \ |
|||
./etc/letsencrypt/live/localhost.daplie.com/ |
|||
``` |
|||
|
|||
Test |
|||
==== |
|||
|
|||
Run the server |
|||
|
|||
```bash |
|||
# Run the Code |
|||
go run serve.go --port 8443 --letsencrypt-dir=./etc/letsencrypt/live/ |
|||
``` |
|||
|
|||
View it in your browser |
|||
|
|||
<https://localhost.daplie.com:8443> |
|||
|
|||
Test it with `openssl` |
|||
|
|||
```bash |
|||
openssl s_client -showcerts \ |
|||
-connect localhost:8443 \ |
|||
-servername localhost.daplie.com \ |
|||
-CAfile ./etc/letsencrypt/live/localhost.daplie.com/certs/ca/root.pem |
|||
``` |
|||
|
|||
Test it with `curl` |
|||
|
|||
```bash |
|||
# should work |
|||
curl https://localhost.daplie.com:8443 |
|||
|
|||
# if the Root CA isn't in your bundle |
|||
curl https://localhost.daplie.com:8443 \ |
|||
--cacert=./etc/letsencrypt/live/localhost.daplie.com/certs/ca/root.pem |
|||
``` |
|||
|
@ -0,0 +1,7 @@ |
|||
package main |
|||
|
|||
import "fmt" |
|||
|
|||
func main() { |
|||
fmt.Println("Hello, World!") |
|||
} |
Loading…
Reference in new issue