Question

I'm trying to understand this and having a hard time. I usually use Ubuntu server, with Apache2, and this time I am not. So I'm a bit out of my element. I'm also a software developer and I don't do much SysAdmin/Devops server stuff. I figured I would post this here, and I'm hoping this is the right place to do it.

===========

I have an AWS EC2, with an AWS Linux AMI (Red Hat) with Apache httpd installed. I have an application load balancer in front of my EC2.

The load balancer is listening on port 80, and so is httpd.

On my EC2, I've started a Node.JS web server and application, which is listening on port 3000.

I have my DNS set up so that my site is public. Let's say its anthony.com.

I am thinking that I can have httpd redirect/forward all of the the inbound requests from anthony.com or anthony.com:80 (implied) to port 3000 so my Node app can handle and serve any requests there.

I'm trying to understand the architecture of this. Does it make sense to have Apache httpd handle these requests? I know that I don't need httpd, but I already installed it and I read in some places that it's good to have a dedicated web server handle all of your traffic before getting to your Node.JS app. Should I just delete apache web server and use Node to handle all of my incoming requests? Or is there a way I can make these two play nice together? Or does it even make sense to have Apache web server on a box with Node?

If I amn going to use Apache web server with Node, how do I forward the ports from 80 to 3000? I know httpd has a conf file; should I do it there (<VirtualHosts>)? Or is this something I should handle in AWS?

I am a software developer, so this is a little murky in terms of Devopsy stuff. How should I structure this?

Was it helpful?

Solution

Amazon application load balancers are just NGINX web servers under the hood. Would you put an NGINX instance in front of Apache in front of your Node app? I wouldn’t. You can go directly from your ALB to your Node app.

Licensed under: CC-BY-SA with attribution
scroll top