Proxy Everything into a Linux Container with nginx
I previously wrote about setting up Node.js + Ghost in an Ubuntu LXC container and using Apache to proxy all web requests into that container. This works pretty well for the most part, but it seems like nginx is much better tool for this since it was pretty much designed to be a proxy server. We have a server that we are using for all Bit-Monkeys projects and I recently set up gitlab, along with a development site for openfaqs inside of LXC containers. The main benefit of this approach is that you can isolate the environments, manage upgrades and updates of various pieces separately, and fix issues in one environment without bringing down your entire infrastructure. Setting this up to work with nginx is super easy. First you will need to grab the IP address of your container which you can easily get by running as the root user
lxc-ls --fancy
apt-get install nginx
. The last step is to create a virtual host config file for your container.
vim /etc/nginx/sites-available/yoursite
server {listen 80;
server_name dev.openfaqs.com www.dev.openfaqs.com;
location / {
proxy_pass http://10.0.3.194:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
port_in_redirect off;
proxy_redirect http://10.0.3.194:5000 /;
proxy_connect_timeout 300;
}
}
ln -s /etc/nginx/sites-available/yoursite /etc/nginx/sites-enabled/yoursiteservice nginx restart
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Future Fonts from Blog – Brad Frost
- 21st Century C++ from Communications of the ACM
- Submarines DevCon 2025 Keynote Speech from JoshHaines.com
- How I Use AI: Meet My Promptly Hired Model Intern from Armin Ronacher's Thoughts and Writings
- DeepSeek from Maggie Appleton
- Digital Reality Digital Shock from Christopher Butler
- 10 habits to help becoming a Debian Maintainer from Optimized by Otto
- Tiny corners from Manuel Moreale RSS Feed
Articles from blogs I follow around the net
Notes from Alexander Petros’ “Building the Hundred-Year Web Service”
I loved this talk from Alexander Petros titled “Building the Hundred-Year Web Service”. What follows is summation of my note-taking from watching the talk on YouTube. Is what you’re building for future generations: Useful for them? Maintainable by them? Adapt…
via Jim Nielsen’s Blog May 14, 2025Open Up, Episode 2: Fundamentals, Principles, Navigating an Imperfect World, Collaboration, and Old Friends
I’m late in posting this because boy oh boy, there’s been a lot going on. But Episode 2 of our show Open Up is out! Geoff and I tackled some great questions and covered a lot of ground in this […]
via Blog – Brad Frost May 14, 2025Your license is a scam
Good morning. Good morning sir! How can I help you? Hello, hi. I was interested in buying one of your cars, the Model A. I really like it and it seems perfect for me. That’s an excellent choice! Model A is a great car, the price starts at 20 …
via Manuel Moreale May 14, 2025Generated by openring