Hello everyone! I recently had a commission to set up a web server structure for a company. We have a main domain that we have in CloudFlare for cache, ssl, rules, etc. We have this pointing to the public IP address. We have several subdomains, web (machine with PLESK), storage (nextCloud), internal application, financial application … In the router, we have the ports open to v-machine 01, which only has NGINX to launch requests to the different v-servers.
We have a single physical server with different virtual machines. Virtual machine for NGINX (machine 01) Virtual machine for web application Virtual machine for the internal application Virtual machine for financial application …
Is this approach correct? How should I protect both the NGINX machine and the servers behind it? Should I configure ssl certificates on all machines or with what cloudflare offers (ssl on all connections) would that be enough?
Sorry to be such a newbie but I hope you give me a hand!
Before I had all the applications on a single machine, without differentiating anything, but I had performance problems and that I cannot put port 80 for more than one subdomain … With NGINX I think that this is solved together with dividing the virtual machines into several virtual machines applications that I have to open.
Thank you.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Thanks for the reply! It is of great help to me.
The nginx VM will only act as a reverse proxy, what resources should I allocate? Does the reverse proxy consume a lot and of launching the requests towards internal servers and returning them? 4GB RAM? 100GB disk? We are talking about no more than 5k visits a day.
And another question of the scheme, my local private network really starts on the nginx server, right?
Thank you!
Hi, Going on your description, I can see your configuration like below. Correct it if it is actually different, pls.
user (somewhere in the internet)
|
SSL|
|
-----------------------------
| Cloudflare
SSL|
|
-----------------------------
SSL| Company's infrastructure
|
.-----------------.
| Firewall/router |
'-----------------'
SSL|
| Bare metal server
.-----------------------------|----------------------------------.
| SSL| |
| .-------------. |
| | VM-01 | |
| | nginx | |
| '-------------' |
| | Private network (LAN) |
| .------------------------------------------. |
| | | | |
| .--------------. .-----------------. .-------------------. |
| | VM | | VM | | VM | |
| | web app | | internal app | | financial app | |
| '--------------' '-----------------' '-------------------' |
| |
'----------------------------------------------------------------'
Some quick thoughts on your configuration:
Considering VPN, you could check Cloudflare’s service called Access. They announced it in March this year: https://blog.cloudflare.com/dogfooding-from-home/.
I hope it is helpful a bit.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.