diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,11 @@
+## 3.2.8
+
+* Using gracefullClose of network 3.1.1 or later if available.
+
+## 3.2.7
+
+* Relaxing version constraint.
+
 ## 3.2.6
 
 * Using the Strict and StrictData language extensions for GHC >8.
diff --git a/Network/Wai/Handler/WarpTLS.hs b/Network/Wai/Handler/WarpTLS.hs
--- a/Network/Wai/Handler/WarpTLS.hs
+++ b/Network/Wai/Handler/WarpTLS.hs
@@ -53,6 +53,9 @@
 import Data.Streaming.Network (bindPortTCP, safeRecv)
 import Data.Typeable (Typeable)
 import Network.Socket (Socket, close, withSocketsDo, SockAddr, accept)
+#if MIN_VERSION_network(3,1,1)
+import Network.Socket (gracefulClose)
+#endif
 import Network.Socket.ByteString (sendAll)
 import qualified Network.TLS as TLS
 import qualified Crypto.PubKey.DH as DH
@@ -355,7 +358,11 @@
   where
     backend recvN = TLS.Backend {
         TLS.backendFlush = return ()
+#if MIN_VERSION_network(3,1,1)
+      , TLS.backendClose = gracefulClose s 5000
+#else
       , TLS.backendClose = close s
+#endif
       , TLS.backendSend  = sendAll' s
       , TLS.backendRecv  = recvN
       }
diff --git a/warp-tls.cabal b/warp-tls.cabal
--- a/warp-tls.cabal
+++ b/warp-tls.cabal
@@ -1,5 +1,5 @@
 Name:                warp-tls
-Version:             3.2.7
+Version:             3.2.8
 Synopsis:            HTTP over TLS support for Warp via the TLS package
 License:             MIT
 License-file:        LICENSE
