**Describe the issue**
We should be able to reload TLS certificates without restarting clickhouse. (will send WIP PR shortly)

relates to #14106
createServer(listen_host, port_name, listen_try, [&](UInt16 port)
            {
                Poco::Net::SocketAddress server_address(listen_host, port);
                servers->emplace_back(port_name, std::make_unique<GRPCServer>(*this, makeSocketAddress(listen_host, port, log)));
                LOG_INFO(log, "Listening for gRPC protocol: " + server_address.toString());
            });
#endif
            
            port_name = "prometheus.port";
            createServer(listen_host, port_name, listen_try, [&](UInt16 port)
            {
                Poco::Net::ServerSocket socket;
                auto address = socketBindListen(socket, listen_host, port);
                socket.setReceiveTimeout(settings.http_receive_timeout);
                socket.setSendTimeout(settings.http_send_timeout);
                servers->emplace_back(
                    port_name,
                    std::make_unique<HTTPServer>(
                        context(),
                        createHandlerFactory(*this, async_metrics, "PrometheusHandler-factory"),
                        server_pool,
                        socket,
                        http_params));
                LOG_INFO(log, "Listening for Prometheus: http://{}", address.toString());
            });
        }
        if (servers->empty())
             throw Exception("No servers started (add valid listen_host and 'tcp_port' or 'http_port' to configuration file.)",
                ErrorCodes::NO_ELEMENTS_IN_CONFIG);