Accessing virtualmin from cloudflare hosted domain

Lets say I have a domain domain.tld on Cloudflare and I want to use subdomain cpanel.domain.tld to be able to access virtualmin, but because I want to have the Cloudflare proxy on to protect my server I would need to use ports 80 and 433. How would I accomplish this without changing the virtualmin port, reverse proxy I assume but how would it need to be setup?

I’m working with Ubuntu Server 16.04 and prefer nginx.