<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Waf on デジタルアーカイブシステムの技術ブログ</title><link>https://tech.ldas.jp/ja/tags/waf/</link><description>Recent content in Waf on デジタルアーカイブシステムの技術ブログ</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Thu, 16 Apr 2026 22:30:00 +0900</lastBuildDate><atom:link href="https://tech.ldas.jp/ja/tags/waf/index.xml" rel="self" type="application/rss+xml"/><item><title>既存リバースプロキシのオリジンに CloudFront + WAF を後付けする実践パターン</title><link>https://tech.ldas.jp/ja/posts/cloudfront-waf-add-to-existing-origin/</link><pubDate>Thu, 16 Apr 2026 22:30:00 +0900</pubDate><guid>https://tech.ldas.jp/ja/posts/cloudfront-waf-add-to-existing-origin/</guid><description>&lt;p>運用中の Web サービス群を、Docker + Traefik で立てたオリジンに&lt;strong>直接 DNS を向けている状態&lt;/strong>から、&lt;strong>CloudFront + AWS WAF を間に挟む構成&lt;/strong>へ移行しました。本記事ではそのとき採用したパターンと、想定しなかった落とし穴を汎用化してまとめます。&lt;/p>
&lt;p>類似の構成を移行する方が、同じ落とし穴を回避できることを目的としています。&lt;/p>
&lt;h2 id="移行前の構成">移行前の構成&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ブラウザ ──► DNS ──► オリジン IP（reverse proxy: Traefik on VPS）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── service-a (cultural.jp 相当)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ├── service-b (api.cultural.jp 相当)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── service-c (webcatplus.jp 相当)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>各サービスは Docker コンテナ&lt;/li>
&lt;li>Traefik が Host ヘッダで振り分け、Let&amp;rsquo;s Encrypt（HTTP-01）で TLS 終端&lt;/li>
&lt;li>攻撃検知に CrowdSec バウンサープラグイン&lt;/li>
&lt;/ul>
&lt;h2 id="移行後の構成">移行後の構成&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ブラウザ ──► DNS ──► CloudFront ──► オリジン用ドメイン ──► Traefik
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> │ (origin.example.com)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── WAF（OWASP / 既知悪性入力 / IP評判 / レート制限）
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>ポイントは 3 つ:&lt;/p></description></item></channel></rss>