Skip to content

Commit 13e64fb

Browse files
committed
enable tls
1 parent 667c99a commit 13e64fb

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
*.db
1+
*.db
2+
tls/

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```
2+
go run $GOROOT/src/crypto/tls/generate_cert.go --rsa-bits=2048 --host=localhost
3+
```

cmd/web/main.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ func main() {
3333
flag.StringVar(&app.htmlDir, "html-dir", "./ui/html", "Path to html templates")
3434
flag.StringVar(&app.databaseFile, "db-file", "./info.db", "Path to database file")
3535
flag.StringVar(&app.secret, "secret", "8sB9ozuKkqWtN3b6lEiInd1dSISxPWogpaGV5HG4wKs=", "Secret key for cookies encryption")
36+
tlsCert := flag.String("tls-cert", "./tls/cert.pem", "TLS certificate")
37+
tlsKey := flag.String("tls-key", "./tls/key.pem", "TLS private-key")
3638
flag.Parse()
3739

3840
if !existDir(app.staticDir) {
@@ -43,6 +45,14 @@ func main() {
4345
log.Fatal("Folder for html-dir was not found")
4446
}
4547

48+
if !existDir(*tlsCert) {
49+
log.Fatal("TLS certificate was not found")
50+
}
51+
52+
if !existDir(*tlsKey) {
53+
log.Fatal("TLS key was not found")
54+
}
55+
4656
if err := app.connectDb(); err != nil {
4757
log.Fatal("Failed to establish database connection")
4858
}
@@ -54,7 +64,7 @@ func main() {
5464
sessionManager := scs.NewCookieManager(app.secret)
5565
sessionManager.Lifetime(12 * time.Hour)
5666
sessionManager.Persist(true)
57-
67+
sessionManager.Secure(true)
5868
app.sessions = sessionManager
5969

6070
server := &http.Server{
@@ -81,7 +91,7 @@ func main() {
8191

8292
log.Printf("Listening on %s\n", app.addr)
8393

84-
if err := server.ListenAndServe(); err != nil {
94+
if err := server.ListenAndServeTLS(*tlsCert, *tlsKey); err != nil {
8595
if err != http.ErrServerClosed {
8696
log.Println("The error below raised after shutdown:")
8797
log.Println(err)

0 commit comments

Comments
 (0)