サーバーいじり
自宅サーバをやはりネットに公開したいということでVPSをいじっていた。
VPSを噛ませているのは契約回線がv6プラスでウェルノウンポートを開放できないのとフロントでトラフィックをさばくのを外だししたいから。
Google ドメインでドメインを取って、ConoHa の一番安いプランを契約してDNS情報の設定。
ping が通るところまで行った。
ここまでで参考にしたのは ConoHa VPS を借りて独自ドメインでアクセスできるようにする|まくろぐ。
あと OS を ArchLinux にしたので ArchWiki を参考にセキュリティを整えた。
## Let's encrypt
基本的には公式ドキュメントに従って進めていったのだけど初めて certbot を起動するところで
An unexpected error occurred: requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f0eed3f0ca0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
というエラーが出て先に進まない。
このエラーは沢山の人がフォーラムで報告していて、意味としては let's encrypt のサーバーに到達できてないということらしいが確認のために挙げられている ping や curl を試してみたらそれは通る。いくつもあるので順に目を通していると
ConnectionError: HTTPSConnectionPool(host=’acme-v02.api.letsencrypt.org’, port=443) - Help - Let's Encrypt Community Support で
Looks like you have the exact same issue/response that I did. My issue solved by configuring IPv6 properly on the server (both IP and gateway).
After this ping6 2001:4860:4860::8888 would resolve and I could request certificate as normal.
Please look into your IPv6 config once more maybe this can be the issue?
とのことで実際 IPv6 の方には ping が通らなかったので IPv6 周りを見直す。
まず ip6table 何もしていなかった(デフォルトではインバウンド全部ドロップ)ので iptablesを使ったIPv4/v6ファイアウォールの構築 を参考に ip6tables.rules を編集する。
がそれでもまだ駄目。
結局良くわらからなかったので使っている人が多そうな Ubuntu に以降しようと思ったけどメモリが少なすぎて 22.04 がインストール出来ないので Debian 11 を入れる。作業自体はまた来週。