Hosting Dockerized website on VPS with Apache

https://lemmy.wtf/post/39865709

Hosting Dockerized website on VPS with Apache - Lemmy.wtf

I made a Docker container of a website that’s difficult to deploy, and I can reliably deploy it on localhost on my personal machine. The container sets up an Apache server with all the files and config to run the website. However, the story is different on my VPS running Ubuntu and Apache. I have two other websites running on the same VPS, each with different domains, and when I deploy the dockerized website I can’t access that site. I opened ports on UFW. The Docker container sets the site to run on port 8000, and I tried running a reverse proxy on just that site with Apache by defining a config pointing towards the internal Docker IP on port 8000, but no luck. Now I’m thinking of running a reverse proxy, but I haven’t found any guides covering my situation: routing websites on both the host machine and through Docker. nginx-proxy [https://github.com/nginx-proxy/nginx-proxy] looks to cover only Docker containers, and the Apache reverse proxy couldn’t access the Docker container. What are my options here? I plan to dockerize everything eventually, but that will be sometime in the future and not right away.

I realized I didn’t specify that the other two websites on the host are running directly and without docker. I updated the post with that note.
I am sick and slightly out of my mind anyway so I’m not going to be very helpful. One thing that stands out though, if you can SSH the machine and you can curl local host to Port 8,000 or whatever. This should help you troubleshooting the container while it lives on the VPS I think
You need to provide a lot more information about your environment and how the server is configured, and any useful log info.
Yeah, You’ll have to do a lot more troubleshooting than this. Did Docker successfully bind to port 8000? Can you curl it from the VPS itself? Does the container and the things in it run properly? Are there any error messages?

Start with basic diagnostics, see if apache is running inside the container, if it is can you curl from inside the container, if that works did docker create the firewall rule to expose the port or is the VPS overriding things in some way?

Gotta start with the basics.

Thanks for your reply. Yes, I can access with curl inside the container. The problem seems to be with SSL and I can’t figure out why:

curl https://127.0.0.1:8000/ curl: (60) SSL: no alternative certificate subject name matches target host name '127.0.0.1'

I’m using the same certs that the host machine uses. When I bypass authentication with curl -k https://127.0.0.1:8000/ it outputs the contents of the page. I don’t believe there’s a VPS firewall since I have another service running on a higher-numbered port which is accessible from the outside.

An SSL error is expected because you’re using localhost and not the common name that the cert is issued for. But the fact that it’s connecting and showing the error means the server is working.
Without knowing your config is hare, but let’s try: Apache httpd needs “SSLProxyEngine on” directive to be able to proxy to https sites first (assuming you already loaded mod_proy and mod_proxy_httpd), and then when connecting it will check the nane of the server as defined in the proxypass directive to see if the certificate on that server matches the name, it also looks for the date of expiration, if any of those fail it wont rev proxy, to ignore those you have to add directives for that, too, but better make sure names match and dates are fine.
Thank you so much! SSLProxyEngine was the key. This tutorial covered my usecase and it was just what I needed. Much appreciated!

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters IP Internet Protocol SSH Secure Shell for remote terminal access VPS Virtual Private Server (opposed to shared hosting)

[Thread #186 for this comm, first seen 23rd Mar 2026, 21:40] [FAQ] [Full list] [Contact] [Source code]

Decronym