Skip to content
AFCOMP
← Build log

Setting Up Cloudflare and HTTPS for My Self-Hosted Services

networkingcloudflarenginx

Overview

One of the biggest goals of my homelab was being able to access my services from anywhere while keeping everything secure.

Instead of accessing services by IP address and port numbers, I wanted clean URLs with HTTPS.

For example:

  • photos.afcomp.com
  • afcomp.com

The Problem

When hosting services at home, there are several challenges:

  • Changing public IP addresses
  • Secure remote access
  • SSL certificates
  • Managing multiple services

A reverse proxy solves many of these problems.

My Solution

I used:

  • Cloudflare for DNS management
  • Nginx Proxy Manager for reverse proxying
  • Let's Encrypt certificates for HTTPS

The traffic flow looks like this:

Internet
   |
Cloudflare DNS
   |
Home Router
   |
Nginx Proxy Manager
   |
Docker Services

Instead of exposing every application directly, Nginx Proxy Manager receives incoming traffic and routes it to the correct service.

Port Forwarding

I configured my router to forward:

  • HTTP traffic
  • HTTPS traffic

to my Nginx Proxy Manager instance.

The proxy then handles the routing internally.

Security Considerations

When making services available publicly, security is important.

Some things I focus on:

  • HTTPS everywhere
  • Strong passwords
  • Keeping containers updated
  • Avoiding unnecessary exposed ports
  • Using VPN access when possible

Lessons Learned

This project helped me understand how websites and applications are actually delivered.

It taught me about:

  • DNS
  • IP addresses
  • Reverse proxies
  • SSL certificates
  • Internet routing

These are concepts that are used everywhere in professional IT environments.

← All entries