<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Reverse-Proxy on marktaguiad.dev</title>
    <link>https://marktaguiad.dev/tags/reverse-proxy/</link>
    <description>Recent content in Reverse-Proxy on marktaguiad.dev</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>marktaguiad@marktaguiad.dev (Mark Taguiad)</managingEditor>
    <webMaster>marktaguiad@marktaguiad.dev (Mark Taguiad)</webMaster>
    <copyright>marktaguiad.dev</copyright>
    <lastBuildDate>Sun, 17 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://marktaguiad.dev/tags/reverse-proxy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Secure Reverse Proxying Behind NAT Using WireGuard and Caddy</title>
      <link>https://marktaguiad.dev/post/tun-wg-cad-cf/</link>
      <pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><author>marktaguiad@marktaguiad.dev (Mark Taguiad)</author>
      <guid>https://marktaguiad.dev/post/tun-wg-cad-cf/</guid>
      <description>&lt;p&gt;I’m migrating my existing reverse proxy and TLS termination setup from Pangolin to a simpler and more flexible architecture using Caddy and WireGuard.&lt;/p&gt;&#xA;&lt;h1 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h1&gt;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ol&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#prerequisite&#34;&gt;Prerequisite&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#vps-public-ip&#34;&gt;VPS (Public IP)&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#wireguard-peer-local-server&#34;&gt;Wireguard Peer (Local Server)&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#caddy-vps&#34;&gt;Caddy (VPS)&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#docker-network&#34;&gt;Docker Network&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/nav&gt;&#xA;&lt;h3 id=&#34;prerequisite&#34;&gt;Prerequisite&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Server with public IP&lt;/li&gt;&#xA;&lt;li&gt;Local Server (NAT or CGNAT)&lt;/li&gt;&#xA;&lt;li&gt;Domain from Cloudflare&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;vps-public-ip&#34;&gt;VPS (Public IP)&lt;/h3&gt;&#xA;&lt;p&gt;Install Wireguard.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install wireguard resolvconf -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Create private key, public key and remove unnecessary permissions from the keys.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reverse Tunneled Proxy with Cloudflared</title>
      <link>https://marktaguiad.dev/post/cloudflared-docker/</link>
      <pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><author>marktaguiad@marktaguiad.dev (Mark Taguiad)</author>
      <guid>https://marktaguiad.dev/post/cloudflared-docker/</guid>
      <description>&lt;p&gt;If you bought your domain in Cloudflare and broke just like me, then you can enjoy some of the free privileges like cloudflared which can tunnel your application to the cloud. This also handles TLS certificate and renewal.&lt;/p&gt;&#xA;&lt;h1 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h1&gt;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ol&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#requirements&#34;&gt;Requirements&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#server-setup&#34;&gt;Server Setup&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#https-proxy-route&#34;&gt;HTTPS Proxy Route&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#ssh-proxy-route&#34;&gt;SSH Proxy Route&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#kubernetes&#34;&gt;Kubernetes&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/nav&gt;&#xA;&lt;h3 id=&#34;requirements&#34;&gt;Requirements&lt;/h3&gt;&#xA;&lt;p&gt;A domain in Cloudflare and a server who has access in the internet.&lt;/p&gt;&#xA;&lt;h3 id=&#34;server-setup&#34;&gt;Server Setup&lt;/h3&gt;&#xA;&lt;p&gt;Navigate to your &lt;a href=&#34;https://dash.cloudflare.com/&#34;&gt;dashboard&lt;/a&gt;, click on Zero Trust - Networks - Connectors. Now create tunnel, select type as Cloudflared. Depending on the system you&amp;rsquo;re using, but in my case I will be selecting Docker. For now copy the token, like we did in Pangolin setup, we need to create a externel Docker network.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reverse Tunneled Proxy with Pangolin</title>
      <link>https://marktaguiad.dev/post/pangolin-docker/</link>
      <pubDate>Tue, 16 Dec 2025 00:00:00 +0000</pubDate><author>marktaguiad@marktaguiad.dev (Mark Taguiad)</author>
      <guid>https://marktaguiad.dev/post/pangolin-docker/</guid>
      <description>&lt;p&gt;Pangolin is a self-hosted tunneled reverse proxy management server with identity and access management, designed to securely expose private resources through encrypted WireGuard tunnels running in user space. With Pangolin, you retain full control over your infrastructure while providing a user-friendly and feature-rich solution for managing proxies, authentication, and access, and simplifying complex network setups, all with a clean and simple dashboard web UI.&lt;/p&gt;&#xA;&lt;h1 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h1&gt;&#xA;&lt;nav id=&#34;TableOfContents&#34;&gt;&#xA;  &lt;ol&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#requirements&#34;&gt;Requirements&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#dns-setup&#34;&gt;DNS Setup&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#vps-setup&#34;&gt;VPS Setup&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#local-server-setup&#34;&gt;Local Server Setup&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#adding-resources&#34;&gt;Adding Resources&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/nav&gt;&#xA;&lt;h3 id=&#34;requirements&#34;&gt;Requirements&lt;/h3&gt;&#xA;&lt;p&gt;Setup will be using Docker, please look for alternative method in the official documentation.&#xA;(This is just a log for my setup, and I&amp;rsquo;m pretty sure no one is reading this except me haha)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
