I'll give you an example of what I want: Let's pretend my domain is domain.com for now. My server machine is a Linux (Ubuntu). I'm currently running Tomcat as my server on ports 80 and 8080. I have Node.JS installed, and I have a Node app. If I run the app on port 3000, and use curl localhost:3000, I get my code. But if I launch domain.com:3000, Chrome just says "connecting", and eventually fails to 'connect', though port 80 and 8080 still work. I even tried stopping tomcat, and running Node, but still same results. How can I run Apache Tomcat server and NodeJS on different ports, for a domain?

Note: I have root/admin SSH access to the Ubuntu server machine, although no physical access. It is an Amazon AWS EC2 Machine.


This could be one or more of several things, I'd go for

  • You may not have opened port 3000 in you EC2 Security Group.
  • You may not have configured your node.js to listen on your external address.
  • You may not have opened port 3000 in your instance firewall.
  • @lain, * I have opened port 3000 in my EC2 Security Group * I don't know about configuring Node.js to listen on the external address How? * I don't know anything about instance firewalls. – crownusa Feb 23 '14 at 22:42
  • Never mind, you were right! It works! I just forgot to open port 3000 in my security group (I had 2 groups, opened it in the wrong one). Thanks @lain! – crownusa Feb 23 '14 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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