jzimmerlin wrote:
If that were the case, what would my options be? I suppose I could get another Linode to host the Node.js/Socket.IO server on, on port 80. Alternatively, would it be possible to get a second IP and host the Node.js/Socket.IO server on that IP on port 80? Any other solutions I haven't thought of?
Or just differentiate the different services based on hostname or URL. Whatever one then listens on port 80 (say Apache) proxies URLs for the other internally.
If the Apache overhead is too much for proxying, something like nginx (which could front both Apache and Node.js servers) could be placed in front of both.
(Oh, this assumes your Node.js app is still using HTTP for communication - if it's raw traffic, you'd have to invert things so it was probably the main app listening on port 80 and only if it detected HTTP would it proxy over to Apache. Proxying in this case could be done at a raw stream level, as pure socket forwarding. You'll only be stuck if there's no way to distinguish HTTP from the raw protocol.)
-- David