Can I run Chef/Puppet server from Azure and manage my on-premise infrastructure?
The prerequisites for a chef server are here and common to any installation.

You only need to allow https to port 443 from your inner infrastructure to the cloud server.

If you have a proxy with SSL interception I'd recommend adding this proxy certificate to each client cacert.pem and set an environment variable SSL_CERT_FILE=&lt;chef_install_path&gt;embedded/ssl/certs/cacert.pem so other call from different ruby tools using openssl will also work.