See this bug: http://issues.liferay.com/browse/LPS-9494
This is the same issue, except for Site URLs instead of Portal Instances. The behavior should be the same so you don't have to run a reverse proxy, etc in order to get it to work.
Just for clarity, if:
site1 virtual host = example.com
site2 virtual host = sub.example.com
example.com -> site1
abc.example.com -> site1
[^sub].example.com -> site1
sub.example.com -> site2
foo.sub.example.com -> site2
Priority given to match the issue referenced above for the same reasons.
Thanks and keep up the outstanding work!