パブリックネットワーキング
「パブリックネットワーキング」では、サービスをインターネットに公開することができます。
Zeabur は、サービスにアクセスするための 2 つの方法を提供しています:
- HTTP サービス:Zeabur が提供するドメイン名またはカスタムドメイン名を使用してサービスにアクセスします。
- 非 HTTP サービス:割り当てられたホスト名とポートを使用してサービスにアクセスします。
ドメインのバインディング
ドメイン は、サービスがインターネットからアクセス可能になるための一意の識別子です。たとえば、このウェブサイトのドメイン名は zeabur.com
です。
サービスにドメインをバインドするには、まず Zeabur ダッシュボードのサービスに移動し、ドメイン タブを展開します。サービスにドメインを作成するための2つのオプションが表示されます。
ドメインの生成
「ドメインの生成」オプションでは、利用可能であれば zeabur.app
サフィックス付きのドメイン名(例:your-service.zeabur.app
)を作成できます。これは、サービスを公開するための最も簡単な方法です。
zeabur.app
ドメインが設定されると、Zeabur が提供するドメイン名を使用してサービスにアクセスできます。
カスタムドメイン
自分のドメイン名を使用する場合は、「カスタムドメイン」オプションを選択します。
まず、入力ボックスにドメイン名を入力し、「ドメインを作成」ボタンをクリックします。
ドメイン名を追加すると、ドメインの DNS 情報が表示されます。
ドメインの DNS レコードを手動で設定する必要があります。たとえば、Cloudflare を使用している場合は、「DNS」→「レコード」セクションで、Zeabur が提供する設定を使用して必要なレコードを追加できます。別の DNS プロバイダを使用している場合は、CNAME レコードの追加手順については、そのプロバイダのドキュメントを参照してください。
トラフィックコストを削減し閲覧速度を向上させるために、Cloudflare の CDN(オレンジのクラウドを有効化)を使用できます。ただし、Cloudflare の SSL/TLS 暗号化モード では、Full (Strict) を選択することはできません。自己署名証明書により接続エラーが発生する可能性があるためです。また、Cloudflare は第 3 レベル以上のカスタムドメインの SSL 証明書発行をサポートしていません(*.example.com
はサポートされていますが、*.sub.example.com
はサポートされていません)。この場合、Zeabur サーバーへの直接接続に戻すことができます(オレンジのクラウドを無効化)。
DNS レコードを設定した後、変更が反映されるまで数分かかる場合があります。完了すると、カスタムドメインを使用してサービスにアクセスできるようになります。
ルートドメインの DNS 設定
ルートドメイン(example.com
)をサブドメイン(www.example.com
)の代わりに使用したい場合、つまり Zone apex レコード を設定する場合、Zeabur が提供する DNS レコードを修正する必要があるかもしれません。
Cloudflare をご利用の場合、Cloudflare には CNAME Flattening 機能が組み込まれており、CNAME をルートドメインで使用可能な A レコードに自動的に変換します。そのため、このセクションはスキップしていただいて構いません。
他の DNS プロバイダーを使用しており、Zeabur が CNAME レコードを提供している場合、その CNAME レコードを A レコードに変換する必要があるかもしれません。
-
Zeabur はドメインをバインドする際、
hkg1.clusters.zeabur.com
などのホスト名を指すCNAME
を提供します。 -
Google Admin Toolbox - Dig を開き、このホスト名を入力します。
-
A
レコードの IP アドレスが表示されます。この IP アドレスを対応する DNS フィールドに入力してください。
注意:Zeabur は CNAME が指す A レコードのアドレスを更新する可能性があります。この方法で設定を行った場合、IP アドレスの更新予定の通知や、何らかの理由で IP アドレスが変更された際に、DNS レコードの更新にご協力いただく必要が生じる可能性があります。
リダイレクトの設定
ドメインを別の URL にリダイレクトするには、「別のドメインにリダイレクト」機能を使用します。これにより、ドメインが指定されたターゲットドメインに一時的に(307)リダイレクトされます。
ドメインの削除
ドメインを削除するには、ドメイン名の横にあるゴミ箱アイコンをクリックします。
次に、入力ボックスにドメイン名を入力し、「削除」ボタンをクリックして確認します。
割り当てられたホスト名とポートの使用
非 HTTP サービスの場合、割り当てられたホスト名とポート(ポートフォワーディングとも呼ばれます)を使用してアクセスできます。たとえば、ポート 25565
で実行されている Minecraft サーバーがある場合、hkg1.clusters.zeabur.com:34567
のように割り当てられたホスト名とポートを使用してアクセスできます。
ホスト名とポートは通常は固定されていますが、変更される可能性もあります。そのため、これらが永久に固定されていると仮定しないことをお勧めします。また、サービス内で独自のポートフォワーディングを設定することも可能です。
ポート設定
Git サービス
Git サービスは 1 つのポートしかリッスンできません。それは Dockerfile に定義されているポートか、未定義の場合(または Dockerfile を使用しない場合)は 8080
です。ポート番号が将来変更される可能性を考慮して、コードに 8080
を直接記述することは推奨されません。代わりに、$PORT
環境変数を使用することをお勧めします。
以下は、$PORT
環境変数を使用するコード例です:
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
})
http.ListenAndServe(":"+port, nil)
}
Docker サービス
Docker サービスの設定 時にポートを設定できます。詳細については、Docker サービス設定ドキュメントの「Ports」セクションを参照してください。