- GO로 https 서비스 개발시 로컬에서 빌드시 사용할 임시 cert 파일을 생성하고자 한다.
- GO 의 로컬 개발을 위해 generate_cert.go 를 이용하여 키파일 생성하기
- go run 뒤에 경로는 go 가 설치된 경로를 찾고 해당 경로 안에서 src\crypt\tls폴더내에 generate_cert.go파일을 실행하여 키파일을 생성
go run c:\\Go\\src\\crypto\\tls\\generate_cert.go --host=127.0.0.1
2024/08/05 17:19:06 wrote cert.pem
2024/08/05 17:19:06 wrote key.pem
- 생성된 cert파일과 key파일을 이용하면 정상적으로 https 서비스를 구동하게 된다
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default() // default settings
r.GET("", func(c *gin.Context) {
c.String(http.StatusOK, "hello world!")
})
r.RunTLS(":8432", "cert.pem", "key.pem")
}
[GIN-debug] Listening and serving HTTPS on :8432
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
2024/08/05 17:20:10 http: TLS handshake error from 127.0.0.1:5779: remote error: tls: bad certificate
2024/08/05 17:20:10 http: TLS handshake error from 127.0.0.1:5780: remote error: tls: bad certificate