<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>LXD &amp;mdash; @oquno@x.oq.la</title>
    <link>https://x.oq.la/tag:LXD</link>
    <description>ブログです &lt;a href=&#34;https://oq.la/++&#34;&gt;oq.la/++&lt;/a&gt;</description>
    <pubDate>Sun, 10 May 2026 13:58:53 +0900</pubDate>
    <item>
      <title>Proxy Protocolを覚えた</title>
      <link>https://x.oq.la/proxy-protocolwojue-eta</link>
      <description>&lt;![CDATA[#LXD コンテナで雑に #nginx のリバースプロキシを構築してると、リモートのIPアドレスがちゃんと取得できなくてコンテナのIPアドレスがログに記録されてしまい、LAN内のIPアドレスからのリクエストならば認証をかけたくないとかやりたい場合に困る(他にもログがちゃんと残ってた方がいい)んだけど、ブリッジしてIPアドレスを振り直すのめんどいなーと思ってたらLXDの設定＋nginxの設定でうまくできるようだった。&#xA;&#xA;https://lxd-ja.readthedocs.io/ja/latest/reference/devicesproxy/&#xA;https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/&#xA;&#xA;nginxの設定を書き換え&#xA;&#xA;before&#xA;&#xA;    listen 443 ssl;&#xA;&#xA;after&#xA;&#xA;    listen 443 ssl proxyprotocol;&#xA;    setrealipfrom [containerip];&#xA;    realipheader proxyprotocol;&#xA;&#xA;してからネットワークデバイスを proxyprotocol 指定して作り直し&#xA;&#xA;lxc config device remove nginx-proxy https&#xA;lxc config device add nginx-proxy https proxy listen=tcp:0.0.0.0:443 connect=tcp:[containerip]:443 proxyprotocol=true&#xA;コンテナのnginx リロード&#xA;lxc exec nginx-proxy -- systemctl reload nginx&#xA;&#xA;で良い感じになった]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://x.oq.la/tag:LXD" class="hashtag"><span>#</span><span class="p-category">LXD</span></a> コンテナで雑に <a href="https://x.oq.la/tag:nginx" class="hashtag"><span>#</span><span class="p-category">nginx</span></a> のリバースプロキシを構築してると、リモートのIPアドレスがちゃんと取得できなくてコンテナのIPアドレスがログに記録されてしまい、LAN内のIPアドレスからのリクエストならば認証をかけたくないとかやりたい場合に困る(他にもログがちゃんと残ってた方がいい)んだけど、ブリッジしてIPアドレスを振り直すのめんどいなーと思ってたらLXDの設定＋nginxの設定でうまくできるようだった。</p>
<ul><li><a href="https://lxd-ja.readthedocs.io/ja/latest/reference/devices_proxy/">https://lxd-ja.readthedocs.io/ja/latest/reference/devices_proxy/</a></li>
<li><a href="https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/">https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/</a></li></ul>

<p>nginxの設定を書き換え</p>

<p>before</p>

<pre><code class="language-nginx.conf">    listen 443 ssl;
</code></pre>

<p>after</p>

<pre><code class="language-nginx.conf">    listen 443 ssl proxy_protocol;
    set_real_ip_from [container_ip];
    real_ip_header proxy_protocol;
</code></pre>

<p>してからネットワークデバイスを proxy_protocol 指定して作り直し</p>

<pre><code class="language-bash">lxc config device remove nginx-proxy https
lxc config device add nginx-proxy https proxy listen=tcp:0.0.0.0:443 connect=tcp:[container_ip]:443 proxy_protocol=true
# コンテナのnginx リロード
lxc exec nginx-proxy -- systemctl reload nginx
</code></pre>

<p>で良い感じになった</p>
]]></content:encoded>
      <guid>https://x.oq.la/proxy-protocolwojue-eta</guid>
      <pubDate>Sun, 23 Jul 2023 13:41:31 +0900</pubDate>
    </item>
  </channel>
</rss>