<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.thibble.org/goomba/index.php?action=history&amp;feed=atom&amp;title=Nginx_Reverse_Proxy_%2B_SSL</id>
	<title>Nginx Reverse Proxy + SSL - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.thibble.org/goomba/index.php?action=history&amp;feed=atom&amp;title=Nginx_Reverse_Proxy_%2B_SSL"/>
	<link rel="alternate" type="text/html" href="https://wiki.thibble.org/goomba/index.php?title=Nginx_Reverse_Proxy_%2B_SSL&amp;action=history"/>
	<updated>2026-07-29T01:14:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.thibble.org/goomba/index.php?title=Nginx_Reverse_Proxy_%2B_SSL&amp;diff=115&amp;oldid=prev</id>
		<title>T20A02: Created page with &quot;= Nginx Reverse Proxy =  In this guide I will be outlining the necessary steps to setup and configure a Nginx Reverse Proxy instance using docker, and configuring SSL using Lets Encrypt and Cloudflare. This will allow the use of subdomains and a safe way to expose services to the internet, which providing SSL based security for these services outside of the local network.   == Setup ==  In this guide we will be using docker, and assuming that a basic installation of dock...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.thibble.org/goomba/index.php?title=Nginx_Reverse_Proxy_%2B_SSL&amp;diff=115&amp;oldid=prev"/>
		<updated>2025-04-14T14:59:13Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Nginx Reverse Proxy =  In this guide I will be outlining the necessary steps to setup and configure a Nginx Reverse Proxy instance using docker, and configuring SSL using Lets Encrypt and Cloudflare. This will allow the use of subdomains and a safe way to expose services to the internet, which providing SSL based security for these services outside of the local network.   == Setup ==  In this guide we will be using docker, and assuming that a basic installation of dock...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Nginx Reverse Proxy =&lt;br /&gt;
&lt;br /&gt;
In this guide I will be outlining the necessary steps to setup and configure a Nginx Reverse Proxy instance using docker, and configuring SSL using Lets Encrypt and Cloudflare. This will allow the use of subdomains and a safe way to expose services to the internet, which providing SSL based security for these services outside of the local network. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
In this guide we will be using docker, and assuming that a basic installation of docker is installed on the host system. In additon do this for ease of configuration and scalability a docker file was used.&lt;br /&gt;
&lt;br /&gt;
This will also assume that you have a docker macvlan network configured, to allow the container its own IP address for easy of port management with further containers. &lt;br /&gt;
&lt;br /&gt;
First Create the directory to house your docker file and create a file named &amp;quot;docker-compose.yml&amp;quot; with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: reverse-proxy&lt;br /&gt;
    image: &amp;#039;docker.io/jc21/nginx-proxy-manager:latest&amp;#039;&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    networks:&lt;br /&gt;
      service:&lt;br /&gt;
        ipv4_address: 192.168.1.20&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;#039;80:80&amp;#039;&lt;br /&gt;
      - &amp;#039;81:81&amp;#039;&lt;br /&gt;
      - &amp;#039;443:443&amp;#039;&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./data:/data&lt;br /&gt;
      - ./letsencrypt:/etc/letsencrypt&lt;br /&gt;
    healthcheck:&lt;br /&gt;
      test: [&amp;quot;CMD&amp;quot;, &amp;quot;/usr/bin/check-health&amp;quot;]&lt;br /&gt;
      interval: 10s&lt;br /&gt;
      timeout: 3s&lt;br /&gt;
&lt;br /&gt;
networks:&lt;br /&gt;
  service:&lt;br /&gt;
    external: true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not using macvlan networking some edits can be made to yeild the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  app:&lt;br /&gt;
    container_name: reverse-proxy&lt;br /&gt;
    image: &amp;#039;docker.io/jc21/nginx-proxy-manager:latest&amp;#039;&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;#039;80:80&amp;#039;&lt;br /&gt;
      - &amp;#039;81:81&amp;#039;&lt;br /&gt;
      - &amp;#039;443:443&amp;#039;&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./data:/data&lt;br /&gt;
      - ./letsencrypt:/etc/letsencrypt&lt;br /&gt;
    healthcheck:&lt;br /&gt;
      test: [&amp;quot;CMD&amp;quot;, &amp;quot;/usr/bin/check-health&amp;quot;]&lt;br /&gt;
      interval: 10s&lt;br /&gt;
      timeout: 3s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once this is saved, from that directory run &amp;lt;pre&amp;gt;docker compose up -d&amp;lt;/pre&amp;gt;. This will pull and start the container. Now from the IP specified in the macvlan, or from the host address, you should be able to access the web UI with the following:&lt;br /&gt;
&lt;br /&gt;
https://192.168.0.X:81/&lt;br /&gt;
&lt;br /&gt;
Now you have spun a fresh install of Nginx proxy manager. &lt;br /&gt;
&lt;br /&gt;
== SSL Configuration ==&lt;br /&gt;
&lt;br /&gt;
In this half of the guide we will be going over the setup, and pulling of a &amp;quot;wildcard&amp;quot; or edge certificate from Cloudflare to validate the SSL of all of the subdomains you will be using from your domain.&lt;/div&gt;</summary>
		<author><name>T20A02</name></author>
	</entry>
</feed>