I will skip "What/Why Docker?" part to make it straight to the point! 🤝
Goal: We are gonna use NGINX as a Reverse Proxy for a NodeJS Server. ⧚
Fo...
For further actions, you may consider blocking this person and/or reporting abuse
This is really interesting. Could you eli5 why one would need to use a reverse proxy at all?
One reason is, you have multiple apps/websites hosted on the same server. Say you have a landing/marketing page at myproduct.com and a dashboard for user accounts at app.myproduct.com. They can't both listen port 80 (default http port). You set up a reverse proxy that listens to 80 and forwards traffic to the respective app based on the domain. The apps can listen to ports 3000 and 3001 for example.
Does that make sense?
I think so. Just so im sure i understood your explanation, internally they use 3000 and 3001, and when people hit up myproduct.com and app.myproduct.com, that goes to nginx which then forwards the request to the correct ports?
Correct!
awesome. thanks so much!
This is a really nice article-
cloudflare.com/learning/cdn/glossa...
nice article, just to add more information --link flag is a legacy feature of Docker
Thanks, I will update accordingly 👍
Great 😃
I think it's will make people confuse between Proxy Vs Reverse Proxy.
If you agree with me please correct these.
Actually, Reverse proxy is the specific term. I will update
In the next round, do this with https ;) :D
Will try,
I have a lot of things in my queue 😀
very helpful article .. Thanks for sharing
1
Welcome!
nice article, have you any tips about static files? I've been some problems with css and js front end scripts locations
What worked for me was to create a different folder with nginx and use docker compose in order to run and connect everything at the same time. It works fine in development. Here is the repo I have so far:
github.com/rhernandog/docker-expre...
Since I just started with docker a couple of weeks ago, I can't get it to work on production though. I can make it work with the static files but I can't find a way to start the express API server.
If someone could lend me a hand I'd appreciate it. Here is how my
Dockerfile
looks so far:If I remove the middle section (all the node part) it works fine, but as I said I can't find a way to start the express server.
If you user the code in the repo, running
docker-compose up --build
is going to work fine, as long as you provide your own mongo database of course.If you haven't gave a chance, try Caprover. It's based on docker and very very simple to use.
It uses docker + nginx reverse proxy + let's encrypt.
caprover.com/