Http.enabled deprecated

why was http.enabled deprecated? Does each node have to run 4200? We have a cluster with ingest nodes, query nodes, data nodes, master nodes and only need the http server running on all but data nodes

This was deprecated by ES, see https://github.com/elastic/elasticsearch/issues/12792. If you don’t want to expose the http port you could just bind it to localhost.