diff --git a/ass/4CUzz0i5QI2FoYuKotvAAQ.jpg b/ass/4CUzz0i5QI2FoYuKotvAAQ.jpg new file mode 100644 index 0000000..2322235 Binary files /dev/null and b/ass/4CUzz0i5QI2FoYuKotvAAQ.jpg differ diff --git a/ass/5VLgmL3DSTyoItyvOILtRw.jpg b/ass/5VLgmL3DSTyoItyvOILtRw.jpg new file mode 100644 index 0000000..db890eb Binary files /dev/null and b/ass/5VLgmL3DSTyoItyvOILtRw.jpg differ diff --git a/ass/DKp6BGXWTYu4JnBZ1biZPw.jpg b/ass/DKp6BGXWTYu4JnBZ1biZPw.jpg new file mode 100644 index 0000000..ea71cf0 Binary files /dev/null and b/ass/DKp6BGXWTYu4JnBZ1biZPw.jpg differ diff --git a/ass/JePPSZafQn25uCJxvFaKGw.jpg b/ass/JePPSZafQn25uCJxvFaKGw.jpg new file mode 100644 index 0000000..829604c Binary files /dev/null and b/ass/JePPSZafQn25uCJxvFaKGw.jpg differ diff --git a/gemini/blog.atom b/gemini/blog.atom index de97879..15e57a6 100644 --- a/gemini/blog.atom +++ b/gemini/blog.atom @@ -3,13 +3,300 @@ gemini://technicalsuwako.moe テクニカル諏訪子 - 2023-12-05T00:00:00Z + 2023-12-11T00:00:00Z テクニカル諏訪子 + + blog/digital-autonomy-076video-hosting.gmi + + 【デジタル自主】076動画ホスティングの解決策 + 2023-12-11T00:00:00Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<p>PeerTubeのホスティングと言えば、「高額」というイメージが浮かびます。<br /> +しかし、デジタル自主を理解すれば、高額な費用は必要ありません。<br /> +あたしはストレージやトラフィックの使用量に関わらず、毎月1,200円を支払っています。</p> +<h2 id="heading">必要な物</h2> +<ul> +<li>古いパソコン3台(秋葉原でのジャンク品を選ぶ事を勧めます)</li> +<li>2枚1 TiBのSSD(勧め: <a href="https://www.amazon.co.jp/gp/product/B0BYZFB8D6">https://www.amazon.co.jp/gp/product/B0BYZFB8D6</a> 残念ですが、最近はCRUCIAL MX-500のSSDが凄く高くなりましたので、もう勧めれません)</li> +<li>2枚の大きさがどうでも良いSSD</li> +<li>ルータ(勧め: <a href="https://www.amazon.co.jp/gp/product/B08MH4VLR3">https://www.amazon.co.jp/gp/product/B08MH4VLR3</a> )</li> +<li>KVMスイッチ(勧め: <a href="https://www.amazon.co.jp/gp/product/B094N5LWKZ">https://www.amazon.co.jp/gp/product/B094N5LWKZ</a> )</li> +<li>キーボード(勧め: <a href="https://www.amazon.co.jp/gp/product/B08M3BQ1TS">https://www.amazon.co.jp/gp/product/B08M3BQ1TS</a> )</li> +<li>VGAを対応するモニタ</li> +<li>インターリンク フレッツ接続ZOOT NEXT(固定IPの為)</li> +<li>(沢山サーバがあれば)ハブスイッチ(勧め: <a href="https://www.amazon.co.jp/gp/product/B08YKSR6R8">https://www.amazon.co.jp/gp/product/B08YKSR6R8</a> )</li> +<li>2つのUSBメモリ(一つはFreeBSDと、一つはOpenBSD)</li> +</ul> +<p>特にKVMスイッチが必要はありませんが、1つのモニタとキーボードを持ったら、とても便利です。\</p> +<p>OpenBSDを使う理由はセキュリティで、FreeBSDを使う理由はパフォーマンスです。<br /> +一緒に完璧なコンビネーションとなります。</p> +<h2 id="usb">USBメモリを準備して、インストールして下さい</h2> +<p>FreeBSDとOpenBSDのイメージをダウンロードして下さい。<br /> +=&gt; [https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/14.0/](FreeBSD 14.0-RELEASE)<br /> +=&gt; [https://cdn.openbsd.org/pub/OpenBSD/7.4/amd64/install74.img](OpenBSD 7.4)</p> +<p>この記事の目的の為に、USBメモリのフラッシュとFreeBSD及びOpenBSDのインストール方法を既に知っていると仮定します。</p> +<h2 id="heading-1">あたしのセットアップ</h2> +<p>あたしのセットアップは下記のイメージです。 +ネットワーク以内のIPは:</p> +<ul> +<li>192.168.0.1 = ルータ</li> +<li>192.168.0.104 = PeerTubeサーバ</li> +<li>192.168.0.106 = relaydサーバ</li> +<li>192.168.0.143 = NAS</li> +</ul> +<p><img src="https://ass.technicalsuwako.moe/DKp6BGXWTYu4JnBZ1biZPw.jpg" alt="" /> +<img src="https://ass.technicalsuwako.moe/4CUzz0i5QI2FoYuKotvAAQ.jpg" alt="" /> +<img src="https://ass.technicalsuwako.moe/JePPSZafQn25uCJxvFaKGw.jpg" alt="" /> +<img src="https://ass.technicalsuwako.moe/5VLgmL3DSTyoItyvOILtRw.jpg" alt="" /></p> +<p>ちなみに、このネットワークのIPセグメントは下記のイメージです:</p> +<ul> +<li>1 = ルータ</li> +<li>2〜99 = DHCP</li> +<li>100 = メインパソコン</li> +<li>101〜120 = サーバ</li> +<li>121〜130 = ノートパソコン(イーサネット)</li> +<li>131〜140 = ノートパソコン(WiFi)</li> +<li>141〜160 = ネットワーク機器(NAS、WiFiアクセスポイント、防犯カメラ等)</li> +<li>161〜180 = ゲーム機(ニンテンドースイッチ、ニンテンドー3DS等)</li> +<li>181〜200 = スマホ、タブパソコン等</li> +<li>201〜254 = 何もない</li> +</ul> +<h2 id="relaydopenbsd">サーバ1:relaydサーバ(OpenBSD)</h2> +<p>このサーバでOpenBSDを使う理由はセキュリティです。<br /> +ネットワーク外からの接続は全部このサーバに通じます。</p> +<h3 id="etcacme-clientconf">/etc/acme-client.conf</h3> +<pre><code lang=""># +# $OpenBSD: acme-client.conf,v 1.4 2020/09/17 09:13:06 florian Exp $ +# +authority letsencrypt { + api url &#34;https://acme-v02.api.letsencrypt.org/directory&#34; + account key &#34;/etc/acme/letsencrypt-privkey.pem&#34; +} + +domain 076.moe { + alternative names { + www.076.moe, + stopsdgs.076.moe, + stopsmaho.076.moe, + mitra.076.moe, + mixi.076.moe, + video.076.moe, + imgproxy.076.moe + } + domain key &#34;/etc/ssl/private/076.moe.key&#34; + domain full chain certificate &#34;/etc/ssl/076.moe.crt&#34; + sign with letsencrypt +} +</code></pre><h3 id="etchttpdconfssl">/etc/httpd.conf(SSL証明書を受け取る為)</h3> +<pre><code lang=""># $OpenBSD: httpd.conf,v 1.22 2020/11/04 10:34:18 denis Exp $ + +server &#34;default&#34; { + listen on * port 80 + root &#34;/htdocs&#34; + location &#34;/.well-known/acme-challenge/*&#34; { + root &#34;/acme&#34; + request strip 2 + } +} +</code></pre><h3 id="etcrelaydconf">/etc/relayd.conf</h3> +<pre><code lang=""># $OpenBSD: relayd.conf,v 1.5 2018/05/06 20:56:55 benno Exp $ +# +# Macros +# +relayd_addr=&#34;0.0.0.0&#34; +insrv4_addr=&#34;192.168.0.104&#34; +router_addr=&#34;192.168.0.106&#34; + +table &lt;video&gt; { $insrv4_addr } + +http protocol reverse { + tcp { nodelay, sack } + tls ciphers &#34;TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256&#34; + tls keypair &#34;076.moe&#34; + + match request header append &#34;X-Forwarded-For&#34; value &#34;$REMOTE_ADDR&#34; + match request header append &#34;X-Forwarded-Port&#34; value &#34;$REMOTE_PORT&#34; + + match response header set &#34;X-Frame-Options&#34; value &#34;deny&#34; + match response header set &#34;X-XSS-Protection&#34; value &#34;1; mode=block&#34; + match response header set &#34;X-Content-Type-Options&#34; value &#34;nosniff&#34; + match response header set &#34;Strict-Transport-Security&#34; value &#34;max-age=31536000; includeSubDomains; preload&#34; + match response header set &#34;Permissions-Policy&#34; value &#34;accelerometer=()&#34; + + pass request quick header &#34;Host&#34; value &#34;video.076.moe&#34; forward to &lt;video&gt; + + return error + pass +} + +relay www_tls { + listen on $relayd_addr port 443 tls + protocol reverse + + forward to &lt;video&gt; port 9000 check tcp +} + +relay www_http { + listen on $relayd_addr port 80 + protocol reverse + + forward to &lt;video&gt; port 9000 check tcp +} + +relay pt { + listen on $relayd_addr port 1935 tls + protocol reverse + + forward to &lt;video&gt; port 19355 check tcp +} +</code></pre><p>ポート1935番号は生配信の為です。</p> +<pre><code lang="">rcctl <span style="color:#a2f">enable</span> httpd +rcctl <span style="color:#a2f">enable</span> relayd +rcctl start httpd + +acme-client -v 076.moe + +rcctl start relayd +</code></pre><h2 id="nasfreebsd">サーバ2:NAS(FreeBSD)</h2> +<p>FreeBSDを使う理由はZFSです。<br /> +インストールしながら、是非「ZFS」→「stripe」を選択して下さい。</p> +<p>まずはSSDを確認して下さい:</p> +<pre><code lang="">$ dmesg | grep ada +ada0 at ahcich0 bus <span style="color:#666">0</span> scbus0 target <span style="color:#666">0</span> lun <span style="color:#666">0</span> +ada0: &lt;CT1000MX500SSD1 M3CR046&gt; ACS-3 ATA SATA 3.x device +ada0: Serial Number 〇〇 +ada0: 600.000MB/s transfers <span style="color:#666">(</span>SATA 3.x, UDMA6, PIO 512bytes<span style="color:#666">)</span> +ada0: Command Queueing enabled +ada0: 953869MB <span style="color:#666">(</span><span style="color:#666">1953525168</span> <span style="color:#666">512</span> byte sectors<span style="color:#666">)</span> +ada1 at ahcich1 bus <span style="color:#666">0</span> scbus1 target <span style="color:#666">0</span> lun <span style="color:#666">0</span> +ada1: &lt;Lexar SSD NQ100 960GB SN11873&gt; ACS-4 ATA SATA 3.x device +ada1: Serial Number 〇〇 +ada1: 600.000MB/s transfers <span style="color:#666">(</span>SATA 3.x, UDMA6, PIO 512bytes<span style="color:#666">)</span> +ada1: Command Queueing enabled +ada1: 915715MB <span style="color:#666">(</span><span style="color:#666">1875385008</span> <span style="color:#666">512</span> byte sectors<span style="color:#666">)</span> +ses0: ada0,pass0 in <span style="color:#b44">&#39;Slot 00&#39;</span>, SATA Slot: scbus0 target <span style="color:#666">0</span> +ses0: ada1,pass1 in <span style="color:#b44">&#39;Slot 01&#39;</span>, SATA Slot: scbus1 target <span style="color:#666">0</span> +</code></pre><p>ada1を作成しましょう。</p> +<pre><code lang="">$ gpart create -s gpt ada1 +$ gpart add -t freebsd-zfs -l disk1 ada1 +</code></pre><p>zpoolを作って下さい。</p> +<pre><code lang="">$ zpool create backup ada1p1 +$ zpool list +NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT +backup 888G 396K 888G - - 0% 0% 1.00x ONLINE - +zroot 920G 180G 740G - - 0% 19% 1.00x ONLINE - +$ zfs create zroot/peertube +</code></pre><p>ada1はバックアップ用に使用しますが、具体的な方法についてはこの記事では説明しません。</p> +<p>peertubeユーザーとグループを創作して下さい。</p> +<pre><code lang="">$ pw groupadd peertube +$ pw useradd peertube -g peertube -s /usr/sbin/nologin -d /nonexistent -c <span style="color:#b44">&#34;PeerTube User&#34;</span> +</code></pre><h3 id="etcexports">/etc/exports</h3> +<pre><code lang="">/zroot/peertube -maproot=peertube:peertube 192.168.0.104 +</code></pre><h3 id="etcrcconf">/etc/rc.conf</h3> +<pre><code lang="">clear_tmp_enable=&#34;YES&#34; +syslogd_flags=&#34;-ss&#34; +hostname=&#34;freebsdnas&#34; +keymap=&#34;jp.kbd&#34; +ifconfig_re0=&#34;inet 192.168.0.143 netmask 255.255.255.0&#34; +defaultrouter=&#34;192.168.0.1&#34; +local_unbound_enable=&#34;YES&#34; +sshd_enable=&#34;YES&#34; +ntpd_enable=&#34;YES&#34; +rsyncd_enable=&#34;YES&#34; +moused_nondefault_enable=&#34;NO&#34; +# Set dumpdev to &#34;AUTO&#34; to enable crash dumps, &#34;NO&#34; to disable +dumpdev=&#34;AUTO&#34; +zfs_enable=&#34;YES&#34; +zfs_enable=&#34;YES&#34; +rpcbind_enable=&#34;YES&#34; +nfs_server_enable=&#34;YES&#34; +nfsd_flags=&#34;-u -t -n 2&#34; +mountd_enable=&#34;YES&#34; +</code></pre><p>サービスを起動して下さい。</p> +<pre><code lang="">$ service rpcbind start +$ service mountd start +$ service nfsd start +</code></pre><h2 id="peertubefreebsd">サーバ3:PeerTubeサーバ(FreeBSD)</h2> +<p>FreeBSDを使う理由は、PeerTubeの開発者がOpenBSDをサポートしていない為です。<br /> +いつでも通りにPeerTubeをインストールして下さい(nginxの設定が不要です)。</p> +<h3 id="etcrcconf-1">/etc/rc.conf</h3> +<pre><code lang=""><span style="color:#b8860b">clear_tmp_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">syslogd_flags</span><span style="color:#666">=</span><span style="color:#b44">&#34;-ss&#34;</span> +<span style="color:#b8860b">hostname</span><span style="color:#666">=</span><span style="color:#b44">&#34;peertubesrv&#34;</span> +<span style="color:#b8860b">keymap</span><span style="color:#666">=</span><span style="color:#b44">&#34;jp.kbd&#34;</span> +<span style="color:#b8860b">ifconfig_re0</span><span style="color:#666">=</span><span style="color:#b44">&#34;inet 192.168.0.104 netmask 255.255.255.0&#34;</span> +<span style="color:#b8860b">defaultrouter</span><span style="color:#666">=</span><span style="color:#b44">&#34;192.168.0.1&#34;</span> +<span style="color:#b8860b">local_unbound_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">ifconfig_re0</span><span style="color:#666">=</span><span style="color:#b44">&#34;DHCP&#34;</span> +<span style="color:#b8860b">sshd_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#080;font-style:italic"># Set dumpdev to &#34;AUTO&#34; to enable crash dumps, &#34;NO&#34; to disable</span> +<span style="color:#b8860b">dumpdev</span><span style="color:#666">=</span><span style="color:#b44">&#34;AUTO&#34;</span> +<span style="color:#b8860b">zfs_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">shavit_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">postgresql_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">redis_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">postgresql_class</span><span style="color:#666">=</span><span style="color:#b44">&#34;postgres&#34;</span> +<span style="color:#b8860b">peertube_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">nginx_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;NO&#34;</span> +<span style="color:#b8860b">nfs_server_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +<span style="color:#b8860b">nfs_client_enable</span><span style="color:#666">=</span><span style="color:#b44">&#34;YES&#34;</span> +</code></pre><pre><code lang="">$ <span style="color:#a2f">cd</span> /var/www/peertube +$ rm -rf storage +$ mkdir storage +$ mount -t nfs 192.168.0.143:/zroot/peertube /var/www/peertube/storage +$ df -h +Filesystem Size Used Avail Capacity Mounted on +zroot/ROOT/default 92G 63G 29G 68% / +devfs 1.0K 0B 1.0K 0% /dev +zroot/tmp 29G 3.1M 29G 0% /tmp +zroot/usr/home 36G 7.2G 29G 20% /usr/home +zroot 29G 96K 29G 0% /zroot +zroot/var/audit 29G 96K 29G 0% /var/audit +zroot/var/log 29G 90M 29G 0% /var/log +zroot/usr/ports 31G 2.0G 29G 6% /usr/ports +zroot/var/crash 29G 96K 29G 0% /var/crash +zroot/var/tmp 29G 136K 29G 0% /var/tmp +zroot/var/mail 29G 444K 29G 0% /var/mail +zroot/usr/src 29G 96K 29G 0% /usr/src +192.168.0.143:/zroot/peertube 815G 103G 712G 13% /var/www/peertube/storage +</code></pre><p>以上</p> + + + + + blog/programming-pyramid-of-doom.gmi @@ -240,40 +527,5 @@ - - blog/sp-100.gmi - - 【076】sp 1.0.0登場 - 2023-11-30T00:00:00Z - - - - - - - - - - - - - - - - -<h2 id="sp">spって何?</h2> -<p>spはシンプルなパスワードマネージャです。</p> -<h2 id="heading">変更</h2> -<ul> -<li>最初リリース</li> -</ul> -<h2 id="heading-1">ソースコード</h2> -<p><a href="https://gitler.moe/suwako/sp">Gitler</a></p> -<p>以上</p> - - - - - diff --git a/gemini/blog.gmi b/gemini/blog.gmi index bcd0e5e..13f655a 100644 --- a/gemini/blog.gmi +++ b/gemini/blog.gmi @@ -2,6 +2,7 @@ # 記事一覧 +=> /blog/digital-autonomy-076video-hosting.gmi 2023年12月11日 【デジタル自主】076動画ホスティングの解決策 => /blog/programming-pyramid-of-doom.gmi 2023年12月05日 【プログラミング】アドバイス1:運命のピラミッドを回避 => /blog/sp-112.gmi 2023年12月01日 【076】sp 1.1.2登場 => /blog/sp-111.gmi 2023年12月01日 【076】sp 1.1.1登場 diff --git a/gemini/blog/digital-autonomy-076video-hosting.gmi b/gemini/blog/digital-autonomy-076video-hosting.gmi new file mode 100644 index 0000000..ef1dc89 --- /dev/null +++ b/gemini/blog/digital-autonomy-076video-hosting.gmi @@ -0,0 +1,301 @@ +=> /blog.gmi ブログ一覧へ + +#【デジタル自主】076動画ホスティングの解決策 +投稿日:2023-12-11 + +PeerTubeのホスティングと言えば、「高額」というイメージが浮かびます。 +しかし、デジタル自主を理解すれば、高額な費用は必要ありません。 +あたしはストレージやトラフィックの使用量に関わらず、毎月1,200円を支払っています。 + +## 必要な物 +* 古いパソコン3台(秋葉原でのジャンク品を選ぶ事を勧めます) +* 2枚1 TiBのSSD(勧め: https://www.amazon.co.jp/gp/product/B0BYZFB8D6 残念ですが、最近はCRUCIAL MX-500のSSDが凄く高くなりましたので、もう勧めれません) +* 2枚の大きさがどうでも良いSSD +* ルータ(勧め: https://www.amazon.co.jp/gp/product/B08MH4VLR3 ) +* KVMスイッチ(勧め: https://www.amazon.co.jp/gp/product/B094N5LWKZ ) +* キーボード(勧め: https://www.amazon.co.jp/gp/product/B08M3BQ1TS ) +* VGAを対応するモニタ +* インターリンク フレッツ接続ZOOT NEXT(固定IPの為) +* (沢山サーバがあれば)ハブスイッチ(勧め: https://www.amazon.co.jp/gp/product/B08YKSR6R8 ) +* 2つのUSBメモリ(一つはFreeBSDと、一つはOpenBSD) + +特にKVMスイッチが必要はありませんが、1つのモニタとキーボードを持ったら、とても便利です。 + +OpenBSDを使う理由はセキュリティで、FreeBSDを使う理由はパフォーマンスです。 +一緒に完璧なコンビネーションとなります。 + +## USBメモリを準備して、インストールして下さい +FreeBSDとOpenBSDのイメージをダウンロードして下さい。 +=> https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/14.0/ FreeBSD 14.0-RELEASE +=> https://cdn.openbsd.org/pub/OpenBSD/7.4/amd64/install74.img OpenBSD 7.4 + +この記事の目的の為に、USBメモリのフラッシュとFreeBSD及びOpenBSDのインストール方法を既に知っていると仮定します。 + +## あたしのセットアップ +あたしのセットアップは下記のイメージです。 +ネットワーク以内のIPは: +* 192.168.0.1 = ルータ +* 192.168.0.104 = PeerTubeサーバ +* 192.168.0.106 = relaydサーバ +* 192.168.0.143 = NAS + +=> /static/DKp6BGXWTYu4JnBZ1biZPw.jpg +=> /static/4CUzz0i5QI2FoYuKotvAAQ.jpg +=> /static/JePPSZafQn25uCJxvFaKGw.jpg +=> /static/5VLgmL3DSTyoItyvOILtRw.jpg + +ちなみに、このネットワークのIPセグメントは下記のイメージです: +* 1 = ルータ +* 2〜99 = DHCP +* 100 = メインパソコン +* 101〜120 = サーバ +* 121〜130 = ノートパソコン(イーサネット) +* 131〜140 = ノートパソコン(WiFi) +* 141〜160 = ネットワーク機器(NAS、WiFiアクセスポイント、防犯カメラ等) +* 161〜180 = ゲーム機(ニンテンドースイッチ、ニンテンドー3DS等) +* 181〜200 = スマホ、タブパソコン等 +* 201〜254 = 何もない + +## サーバ1:relaydサーバ(OpenBSD) +このサーバでOpenBSDを使う理由はセキュリティです。 +ネットワーク外からの接続は全部このサーバに通じます。 + +### /etc/acme-client.conf +``` +# +# $OpenBSD: acme-client.conf,v 1.4 2020/09/17 09:13:06 florian Exp $ +# +authority letsencrypt { + api url "https://acme-v02.api.letsencrypt.org/directory" + account key "/etc/acme/letsencrypt-privkey.pem" +} + +domain 076.moe { + alternative names { + www.076.moe, + stopsdgs.076.moe, + stopsmaho.076.moe, + mitra.076.moe, + mixi.076.moe, + video.076.moe, + imgproxy.076.moe + } + domain key "/etc/ssl/private/076.moe.key" + domain full chain certificate "/etc/ssl/076.moe.crt" + sign with letsencrypt +} +``` + +### /etc/httpd.conf(SSL証明書を受け取る為) +``` +# $OpenBSD: httpd.conf,v 1.22 2020/11/04 10:34:18 denis Exp $ + +server "default" { + listen on * port 80 + root "/htdocs" + location "/.well-known/acme-challenge/*" { + root "/acme" + request strip 2 + } +} +``` + +### /etc/relayd.conf +``` +# $OpenBSD: relayd.conf,v 1.5 2018/05/06 20:56:55 benno Exp $ +# +# Macros +# +relayd_addr="0.0.0.0" +insrv4_addr="192.168.0.104" +router_addr="192.168.0.106" + +table