fix(api): fix potential Slowloris Attack
This commit is contained in:
+8
-3
@@ -11,6 +11,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/AlexxIT/go2rtc/internal/app"
|
"github.com/AlexxIT/go2rtc/internal/app"
|
||||||
"github.com/AlexxIT/go2rtc/pkg/shell"
|
"github.com/AlexxIT/go2rtc/pkg/shell"
|
||||||
@@ -96,7 +97,10 @@ func listen(network, address string) {
|
|||||||
Port = ln.Addr().(*net.TCPAddr).Port
|
Port = ln.Addr().(*net.TCPAddr).Port
|
||||||
}
|
}
|
||||||
|
|
||||||
server := http.Server{Handler: Handler}
|
server := http.Server{
|
||||||
|
Handler: Handler,
|
||||||
|
ReadHeaderTimeout: 5 * time.Second, // Example: Set to 5 seconds
|
||||||
|
}
|
||||||
if err = server.Serve(ln); err != nil {
|
if err = server.Serve(ln); err != nil {
|
||||||
log.Fatal().Err(err).Msg("[api] serve")
|
log.Fatal().Err(err).Msg("[api] serve")
|
||||||
}
|
}
|
||||||
@@ -126,8 +130,9 @@ func tlsListen(network, address, certFile, keyFile string) {
|
|||||||
log.Info().Str("addr", address).Msg("[api] tls listen")
|
log.Info().Str("addr", address).Msg("[api] tls listen")
|
||||||
|
|
||||||
server := &http.Server{
|
server := &http.Server{
|
||||||
Handler: Handler,
|
Handler: Handler,
|
||||||
TLSConfig: &tls.Config{Certificates: []tls.Certificate{cert}},
|
TLSConfig: &tls.Config{Certificates: []tls.Certificate{cert}},
|
||||||
|
ReadHeaderTimeout: 5 * time.Second,
|
||||||
}
|
}
|
||||||
if err = server.ServeTLS(ln, "", ""); err != nil {
|
if err = server.ServeTLS(ln, "", ""); err != nil {
|
||||||
log.Fatal().Err(err).Msg("[api] tls serve")
|
log.Fatal().Err(err).Msg("[api] tls serve")
|
||||||
|
|||||||
Reference in New Issue
Block a user