ワイルドカード DNS のセットアップ
ワイルドカード DNS により、acme.yourdomain.com、techcorp.yourdomain.com などのテナントサブドメインが使用できます。これはオプションです — FeedbackPulse はワイルドカード DNS なしでもスラッグベースの URL(例:/wall/acme-corp)で問題なく動作します。
ワイルドカード DNS は必要ですか?
| シナリオ | ワイルドカード DNS が必要? |
|---|---|
テナントがスラッグベースのパブリックページを使用(/wall/acme-corp) | 不要 |
テナントが独自のサブドメインを希望(acme.yourdomain.com) | 必要 |
テナントが独自のカスタムドメインを持ち込む(feedback.acme.com) | 不要(CNAME を使用) |
必要なもの
- ワイルドカード DNS A レコード:
*.yourdomain.com→ サーバー IP - ワイルドカード SSL 証明書:
*.yourdomain.comをカバー - Web サーバー設定: すべてのサブドメインを受け入れる
ステップ 1:DNS レコードの追加
ドメインレジストラーの DNS 管理パネルに移動して以下を追加します:
| タイプ | 名前/ホスト | 値 | TTL |
|---|---|---|---|
| A | * | 123.456.789.0(サーバー IP) | 300 |
ルートドメインの通常の A レコードも必要です:
タイプ 名前/ホスト 値 A @123.456.789.0
プロバイダー別の手順
Cloudflare
- Cloudflare ダッシュボード にログインします
- ドメインを選択します
- DNS → Records に移動します
- Add Record をクリックします
- タイプ:
A| 名前:*| IPv4:サーバー IP | プロキシ:DNS のみ(グレークラウド) - Save をクリックします
重要: ワイルドカードサブドメインの場合、Cloudflare プロキシをDNS のみ(グレークラウド)に設定してください。プロキシ済み(オレンジクラウド)にしないでください。Cloudflare の無料プランはワイルドカードサブドメインをプロキシしません。
Namecheap
- ログイン → Domain List → ドメインを Manage
- Advanced DNS に移動します
- Add New Record をクリックします
- タイプ:
A Record| ホスト:*| 値:サーバー IP | TTL:Automatic - 保存します
GoDaddy
- ログイン → My Products → ドメインの DNS
- Add Record をクリックします
- タイプ:
A| 名前:*| 値:サーバー IP | TTL:600 - 保存します
Google Domains / Google Cloud DNS
- Google Domains に移動します
- ドメインを選択 → DNS
- Custom Records の下に追加:
- ホスト:
*| タイプ:A| データ:サーバー IP - 保存します
AWS Route 53
- Route 53 → Hosted Zones → ドメインを選択します
- Create Record をクリックします
- レコード名:
*| レコードタイプ:A - 値:サーバー IP | TTL:
300 - Create Records をクリックします
DigitalOcean DNS
- Networking → Domains に移動します
- ドメインを選択します
- 追加:タイプ
A| ホスト名*| 送信先:サーバー IP | TTL:300
Hetzner DNS
- Hetzner DNS Console に移動します
- ゾーンを選択します
- レコードを追加:タイプ
A| 名前*| 値:サーバー IP
ステップ 2:ワイルドカード SSL 証明書の取得
オプション A:DNS チャレンジを使用した Let's Encrypt(無料)
Let's Encrypt のワイルドカード証明書は DNS-01 チャレンジが必要です(HTTP ではありません):
# DNS プロバイダー用の Certbot プラグインをインストール
# 例:Cloudflare
sudo apt install certbot python3-certbot-dns-cloudflare
# Cloudflare 認証情報ファイルを作成
sudo mkdir -p /etc/letsencrypt
sudo nano /etc/letsencrypt/cloudflare.ini
Cloudflare API トークンを追加します:
dns_cloudflare_api_token = your_cloudflare_api_token_here
sudo chmod 600 /etc/letsencrypt/cloudflare.ini
# ワイルドカード証明書を取得
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
-d yourdomain.com \
-d "*.yourdomain.com"
他のプロバイダー向けの DNS プラグイン
| プロバイダー | Certbot プラグイン | インストール |
|---|---|---|
| Cloudflare | python3-certbot-dns-cloudflare | sudo apt install python3-certbot-dns-cloudflare |
| Route 53 | python3-certbot-dns-route53 | sudo apt install python3-certbot-dns-route53 |
| DigitalOcean | python3-certbot-dns-digitalocean | sudo apt install python3-certbot-dns-digitalocean |
| Google Cloud | python3-certbot-dns-google | sudo apt install python3-certbot-dns-google |