
第1章:10GbEの「高台」と、拭えぬ劣等感
NTT光クロスとOCNの回線。
手に入れたのは、かつて夢見た10GbEという暴力的なまでの速度だった。しかし、その高台から見下ろす景色は、どこか色が褪せていた。
最新鋭ルーター XG-100NE は、管理人に圧倒的な速度を与える代償として、サーバー管理者としての「誇り」を奪った。
IPoEという名の不自由な鎖が、標準の 80/443番ポートを無慈悲に封じる。
XG-100NEでポート開放してブログを運営するには、urlの後ろにポート番号を付けなければならない。
そして限られた使用できるポートから消去法で選ばれた 「7617番」。
https://www.ice-military.com:7617 ―― URLの末尾にこびり付くこの4桁の数字は、管理人に自分の城が「未完成な欠陥住宅」であるかのような、やりきれない劣等感に苛まれた。
第2章:Cloudflareの冷徹な拒絶と、7844への執着
「この数字を、消したい。」
その一心で、管理人は Cloudflare という名の守護神に縋った。だが、彼らは冷徹だった。
設定をどれだけ弄り、祈るようにページルールを書き換えても、システムは裏側で執拗に「:7844」というポートを叩き続け、管理人の 7617番を一度として顧みることはなかった。
「お前の環境など、我々の規格(仕様)には存在しない」――そう突きつけられた気がした。
管理人はマウスを投げ出し、自ら門を作るという、最も険しく孤独な道を選んだ。
第3章:拠点設営 ―― 「木の葉(ConoHa)」という新たな希望
借りたのは VPS 「ConoHa(木の葉)」。
ここなら 80/443番が自由に使える。 まずは VPS の大地を整えるべく、Nginx を召喚した。
|
1 |
sudo apt update && sudo apt install nginx -y |
しかし、通信は届かない。
自分を疑い、絶望しかけた管理人を救ったのは、管理画面の奥に隠れた「セキュリティグループ」の設定だった。
OS内部の ufw だけでなく、ConoHa管理画面のサーバ情報にあるセキュリティグループで IPv4v6-Web (80/443番) を「許可」 に設定した瞬間、VPSが初めて外の世界と呼吸を始めた。
第4章:DNSの迷宮 ―― 24時間の停滞と、断捨離の決断
お名前.com で VPS の IP を設定し、DNSレコードが更新されるのを待った。
しかし、世界は残酷なほどに動かない。
【執念の nslookup 構文連打】 PCのキャッシュを信じず、Google の公開 DNS を指定して、世界の認識を強制確認し続けた。
|
1 2 3 |
<span class="hljs-comment"># Google DNS (8.8.8.8) を指定して「真実の座標」を確認</span> nslookup ice-military.com 8.8.8.8 |
5分毎、あるいは1時間毎とnslookup構文を打ち続けて24時間が経過し、私の精神は摩耗しきっていた。「何かが、おかしい。もしかして……」 管理人は、長年連れ添った MyDNS.JP のDNS設定をリセットで葬り去り、お名前.com の管理画面でネームサーバーを 「お名前.com各サービスを利用する(標準設定)」 へと強制変更した。
その数分後。
画面に VPS の IP が輝いた。
あの一昼夜の苦悩が、たった一つの決断で雪解けのように消えていった。
第5章:Certbot の成功と、7617トンネルの貫通
名前が通れば、次は「聖印」だ。
certbot が Congratulations! を告げた時、モニターの前で管理人は小さく拳を握った。
|
1 2 |
sudo certbot --nginx -d ice-military.com |
続けて、VPS(443) から自宅(7617)へ続く「見えないトンネル」を Nginx に刻み込む。
【設定 (Conoha):/etc/nginx/conf.d/ice-military.conf】
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<span class="hljs-section">server</span> { <span class="hljs-attribute">listen</span> <span class="hljs-number">443</span> ssl; <span class="hljs-attribute">server_name</span> www.ice-military.com; <span class="hljs-attribute">location</span> / { <span class="hljs-comment"># 自宅ルーターが唯一待ち受ける 7617番へ転送</span> <span class="hljs-attribute">proxy_pass</span> https://[自宅の固定IP]:7617; <span class="hljs-attribute">proxy_set_header</span> Host $host; <span class="hljs-attribute">proxy_set_header</span> X-Real-IP $remote_addr; <span class="hljs-attribute">proxy_set_header</span> X-Forwarded-For $proxy_add_x_forwarded_for; <span class="hljs-attribute">proxy_set_header</span> X-Forwarded-Proto https; } } |
第6章:リダイレクトループと、110行目の亡霊
だが、試練は終わらない。
画面に映る 『ERR_TOO_MANY_REDIRECTS』。
「HTTPSで来た」と信じたいWordPressと、「HTTPで渡す」VPS。
二人の門番のボタンの掛け違いが、無限の回廊を生む。
管理人は自宅サーバーの wp-config.php の**最上部(<?php の直後)**に、この「説得の呪文」を刻み込んだ。
【手順:/home/kusanagi/プロファイル名/wp-config.php 最上部への追記】
|
1 2 3 4 5 6 |
<span class="hljs-meta"><?php</span> <span class="hljs-comment">/* リバースプロキシ環境下でのHTTPS認識強制 */</span> <span class="hljs-keyword">if</span> (<span class="hljs-keyword">isset</span>(<span class="hljs-variable">$_SERVER</span>[<span class="hljs-string">'HTTP_X_FORWARDED_PROTO'</span>]) && <span class="hljs-variable">$_SERVER</span>[<span class="hljs-string">'HTTP_X_FORWARDED_PROTO'</span>] === <span class="hljs-string">'https'</span>) { <span class="hljs-variable">$_SERVER</span>[<span class="hljs-string">'HTTPS'</span>] = <span class="hljs-string">'on'</span>; } |
これにより嵐は鎮まった。
だが、最後に残った「味方」の裏切り。
Google Site Kit が、執拗に旧時代の :7617 を吐き出し続ける。
真犯人は、wp-config.php の 110行目付近に、何食わぬ顔で居座っていた Kusanagi の初期設定だった。
【亡霊の封印:110行目付近のコメントアウト】
|
1 2 3 4 |
<span class="hljs-comment">/** 110行目付近:ポート番号付きの定義をコメントアウトし、自由を勝ち取る **/</span> <span class="hljs-comment">// define('WP_HOME', 'https://www.ice-military.com:7617');</span> <span class="hljs-comment">// define('WP_SITEURL', 'https://www.ice-military.com:7617');</span> |
「お前だったのか……。」
管理人を不格好な数字で縛り付けていた亡霊。
その二行を封印した瞬間、全ての呪縛が霧散した。
終章:勝利の果実 ―― 1Gbps回線への、さらば。
翌日、私は晴れやかな気分で受話器を取った。
ポート開放のためだけに、毎月約1万円を垂れ流していた 1Gbps 回線。
その解約を告げた時、私の「独立戦争」は真の終結を迎えた。
手元に残ったのは、10GbE という最新鋭の翼と、どこまでも清浄で美しい URL。
「道がないなら、自分でトンネルを掘ればいい。その先には、必ず澄み渡った景色が待っている。」
これにてXG-100NEでの自宅サーバー公開が完了した。

コメント