There are three locations where you can configure TCP keepalives.
1) You can specify the TCP Keep-Alive settings on a specific port
2) You can specify the TCP Keep-Alive setting for a specific policy
3) You can configure TCP Keep-Alive globally via cluster-wide properties.
1) Port Specific
You can configure the Keep-Alive timeout through the listen port on the Advanced tab. In the parameter section click add then the name will be "keepAliveTimeout" and the value will be any value in milliseconds you like. A note though that this will affect all connections to this port and you will need to be connected through the Policy Manager to a different port when making the change.
You can configure "MaxKeepAliveRequests" as well by adding to the parameter section, similar to "KeepAliveTimeout".
2) Policy Specific
You can check or uncheck the "Use Keep-Alive" check box from "Route via HTTP(s)" assertion properties. The default is to use Keep-Alive
3) Globally (Disable or Enable)
You can enable "keep-alive" only when the io.httpDisableKeepAlive cluster property is at its default "false" setting. If that property was set to "true", then "keep-alives" are disabled globally and cannot be enabled for an individual HTTP routing. The default value is "false"