A lot of fun and interesting work has been done in this area, including a version of apache that runs on android.
There's only one problem I'm running in to; most mobile carriers use their own (internal) sub networks for mobile connectivity. This makes creating a publicly accessible server running on Android complicated, if not impossible.
Network Adress Translation, VPN's and portforwarding are non starters for what I'm looking to do here
I'd be ok with a 'man in the middle' solution, as long as the server in the middle didn't actually have to pipe data from one peer to the other.
Lots of apps enable a peer2peer connection with the help of a central server: whatsapp, skype, iChat etc.