We use nginx as a reverse proxy. It was a little bit of a pain to set up with all the SSL stuff at first, especially since we wanted to keep hosting some Wordpress blogs on URLs nested within the .NET infrastructure, but overall it's worked out well now that it's up and running.
Each site gets its own dotnet instance, and for a while I was even running them all within a screen session. It was kinda neat to be able to flip through all of them, and see the dotnet instances at a glance, but now they've got proper startup scripts.