Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Actually this is not merging problem, this is quite tricky. Let me call the server(?) which I want to make "HOOLA"

This "HOOLA" contains HTTP server (ex. Apache HTTP Server) and XMPP server (ex. Openfire) Let's assume "HOOLA" is allocated at IP address.

When user make HTTP request to, then "HOOLA" hand over this request to inner HTTP server. When user make XMPP request to, then "HOOLA" hand over this request to inner XMPP server. And both return its own response to user.

This is what I need to make. But I don't know what I should call this, and I can't search any information since I can't imagine some keywords for this work.

The best solution I want "HOOLA" runs and there is only one process. I think I should modify source code of Apache HTTP Server or Openfire for this solution .

The second best solution I want There are three processes, "HOOLA", "Apache HTTP Server", "Openfire". And "HOOLA" takes controls on all request and response stream. I think I don't need to modify source code of Apache HTTP Server or Openfire for this solution.

If you just let me know what keywords I should use to search, I'll be very appreciate.

share|improve this question

migrated from Oct 5 '12 at 9:49

This question came from our site for professional and enthusiast programmers.

This is off topic here and better suited for server fault. I think it is possible to let Apache proxy all xmpp requests to another process. – Eelke Oct 5 '12 at 5:20
up vote 1 down vote accepted

I'm not sure whether “inner […] server” refers to a separate machine in your private network, or to a process running on the same machine.

Same machine

Running both servers on the same machine should be no problem at all, as HTTP and XMPP use different TCP port numbers: 80 for HTTP, 443 for HTTPS and 5269 for XMPP. So simply start both internal servers, leave them configured at their default port number, and everything should work.

Separate machines

Make HOOLA a masquerading router / firewall. That way, it will forward TCP requests for one port to one server, for another port to another server, and block all the rest. Both services would be available under a single IP to the public, and the different internal IP addresses would be hidden (“masqueraded”).

share|improve this answer
Thanks! I'll try masquerading. – planetes853 Oct 5 '12 at 8:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.