In the following, replace example.net with your domain name. XXX.XXX.XXX.XXX is the IP of the reverse proxy.
example.net. 300 IN A XXX.XXX.XXX.XXX
www.example.net. 300 IN CNAME gateway.dotcloud.com
mail.example.net. 300 IN CNAME ghs.google.com
example.net. 300 IN MX 30 aspmx2.googlemail.com.
example.net. 300 IN MX 30 aspmx3.googlemail.com.
example.net. 300 IN MX 20 alt1.aspmx.l.google.com.
example.net. 300 IN MX 10 aspmx.l.google.com.
example.net. 300 IN MX 30 aspmx5.googlemail.com.
example.net. 300 IN MX 20 alt2.aspmx.l.google.com.
example.net. 300 IN MX 30 aspmx4.googlemail.com.
Copy any TXT entries you added for proving to google you own the domain, these will still be needed!
Disable protection on direct.example.net, enable it for everything else. The reverse proxy at XXX.XXX.XXX.XXX should load direct.example.net. Add the following DNS entry:
direct.example.net. 300 IN CNAME gateway.dotcloud.com
cf-protect-www.example.net. 300 IN AAAA 2002:3210:bd68::d07c:100d
The IPv6 IP in the AAAA record is for gateway.dotcloud.com.
Note that the IP may change. If it does, just run
dig AAAA gateway.dotcloud.com
to check it and use the IP it lists.
NOTE: I have not yet got IPv6 working on my VPS, so I have not bothered
with getting IPv6 working on a "naked domain" (ie, example.net).
Assuming you have an IPv6 address already, it should "just work"
if nginx listens on an IPv6 address and you set up the reverse-proxy
as normal.
The reverse proxy at XXX.XXX.XXX.XXX should load www.example.net. No other DNS entries needed. IPv6 addresses for dotcloud are propagated via CNAME.