I created a storage account and created a public folder (called static). Inside static I pushed one file test.swf. Now from any browser I can navigate to myproject.blob.core.windows.net/static/test.swf and get the option to load or save the file. What is odd though is I set up a CNAME (static.mydomain.com) on my domain to point to myproject.blob.core.windows.net. I waited for DNS to do its magic. I verified (with ping) that both myproject.blob.core.windows.net and static.mydomain.com pointed to the same IP. However, with all this 'sameness' using static.mydomain.com/static/test.swf gives the following error xml back:
<Error>
<Code>InvalidUri</Code>
<Message>The requested URI does not represent any resource on the server.
RequestId:a172a9cf-b60e-451e-9732-b715276b03d0
Time:2012-06-13T23:06:44.5477230Z
</Message>
<UriPath>http://static.mydomain.com/static/test.swf</UriPath>
</Error>
Even trying http:///static/test.swf gives that error message. So what did I miss in this process?
Besides creating a CNAME and pointing it to your "blob storage domain" (representing your storage account), you also need to validate that CNAME by pointing an other CNAME to verify.azure.com.
You can read all about this on MSDN: How to Register a Custom Subdomain Name for Accessing Blobs in Windows Azure (note that this guide is for the 'old' portal).