conoha-proxy のセットアップ
conoha-proxy は ConoHa VPS 上で動作するリバースプロキシです。HTTPS 自動発行(Let's Encrypt)、ブルー/グリーンデプロイ、複数ホスト名ルーティングを必要とする proxy モードでは、conoha app deploy の前にこのセットアップが必要です。
前提条件
- VPS に Docker および docker compose がインストール済みであること
- ポート 80 / 443 がインターネットから到達可能であること(UFW や ConoHa セキュリティグループで開放)
- Let's Encrypt ACME 登録用のメールアドレス
proxy boot
VPS に conoha-proxy をインストールして起動するには proxy boot を実行します。
conoha proxy boot my-server --acme-email ops@example.com実行すると CLI はサーバー上で以下を順に行います。
- Docker / docker compose のインストールを確認します
/var/lib/conoha-proxyを作成し、UID 65532(nonroot)に所有権を委譲します- UFW で 80/443 を開放し、
net.ipv4.ip_unprivileged_port_start=0を/etc/sysctl.d/99-conoha-proxy.confに書き込みます docker runでコンテナを起動します--wait-timeout(デフォルト30s)内にコンテナが healthy になることを確認します
タイムアウトした場合は直近 20 行のコンテナログが stderr に出力されます。フラグの全一覧は proxy リファレンス を参照してください。
TIP
proxy のブートが終わったら、conoha.yml を用意して conoha app init → conoha app deploy でアプリをデプロイできます。詳細は アプリデプロイ を参照してください。
ライフサイクル運用
proxy reboot
最新イメージをプルしてコンテナを再作成します。
conoha proxy reboot my-server --acme-email ops@example.comWARNING
起動時のすべてのフラグ(--acme-email / --image / --data-dir など)を再指定する必要があります。コンテナ設定は引き継がれません。
proxy start / stop / restart
起動中のコンテナを停止・再起動します。ACME 設定はデータディレクトリに残るため再指定は不要です。
conoha proxy stop my-server
conoha proxy start my-server
conoha proxy restart my-serverproxy remove
コンテナを削除します。データディレクトリは既定で残るため、登録済みサービスと証明書は保持されます。
conoha proxy remove my-server証明書・登録済みサービス・状態ファイルを含めて完全に消去するには --purge を指定します。
conoha proxy remove my-server --purge観測
proxy logs
コンテナのログを表示します。-f でリアルタイムフォローできます。
conoha proxy logs my-server
conoha proxy logs my-server -fproxy details
バージョンと readiness を確認します。Admin API を Unix socket 経由で取得した結果を出力します。
conoha proxy details my-serverVersion: v0.6.2
Ready: true
Services: 3 registeredproxy services
登録されているプロキシサービスの一覧を表示します。
conoha proxy services my-serverNAME PHASE ACTIVE HOSTS
myapp green http://127.0.0.1:9001 app.example.com
gitea green http://127.0.0.1:9012 gitea.example.com
gitea-dex green http://127.0.0.1:9015 dex.example.comconoha app init 済みのアプリと expose ブロックが <アプリ名> / <アプリ名>-<label> 形式で並びます。
トラブルシューティング
ACME 発行に失敗する
DNS の A レコードが VPS を指していないか、ポート 80 がインターネットから到達できない状態です。proxy logs -f でログをフォローし、acme: を含む行を確認してください。
conoha proxy logs my-server -fhealthy 待機がタイムアウトする
--wait-timeout を伸ばして再試行します。
conoha proxy boot my-server --acme-email ops@example.com --wait-timeout 120sタイムアウト時は直近 20 行のログが出力されるので内容を確認してください。メモリ不足が疑われる場合はフレーバーを昇格させてから再試行します。
conoha server resize my-server --flavor g2l-4TLS ハンドシェイクで失敗する
DNS が VPS を指していないため、そのホスト名の証明書が発行されていない可能性があります。dig で A レコードを確認し、proxy details で readiness を確認してください。
dig app.example.com
conoha proxy details my-server/var/lib/conoha-proxy のパーミッション
UID 65532 がデータディレクトリに書き込めない場合は所有権を修正します。
sudo chown -R 65532:65532 /var/lib/conoha-proxy