I have a web server running which obviously uses ports 80 and 443. Now I want to add Jabber server but I'd like to use same ports for it as our corporate firewall at work blocks pretty much everything else.
I was wondering if i can add a subdomain jabber.mydomain.com which web server would completely ignore. Then set Jabber server to listen on ports 80 and 443.
OS is Centos, Jabber server is Openfire, web server is Apache.
Nope. Get yourself some more IPs, or ask for your corporate firewall to be opened appropriately. If this isn't work-related, then perhaps you shouldn't be Jabbering at work.
no you can't (2 things can't run on the same port). I'd suggest implementing a proxy, I believe squid might be capable of differentiating traffic types and sending the right stuff to the right server. but I'm not 100% sure on that.
You might be able to make it happen using a Layer 4 switch, perhaps with judicious configuration of software like IPVS, but you really should just get another IP address or use a different port for your XMPP traffic.
It is theoretically possible with an application that sits between the jabber/httpd servers and the socket. Jabber clients will open by sending an XML stanza, while HTTP clients will send a HTTP header.
However, that way lies madness, even if it is a clever hack.