オリジンサーバーは、実際のコンテンツが存在する場所です。Sudunはオリジンからコンテンツを取得し、世界中のエッジロケーションにキャッシュします。このガイドでは、オリジンサーバーの設定オプションについて説明します。
ユーザー → Sudunエッジ(キャッシュ) → オリジンサーバー(お客様のサーバー)
↓
キャッシュヒット: エッジから配信
キャッシュミス: オリジンから取得
オリジンサーバーは以下のいずれかになります:
| 設定項目 | 説明 | 例 |
|---|---|---|
| オリジンアドレス | IPアドレスまたはホスト名 | origin.example.com または 203.0.113.50 |
| オリジンポート | HTTP/HTTPSポート | 80、443、またはカスタムポート |
| オリジンプロトコル | HTTPまたはHTTPS | HTTPS推奨 |
| 重み | ロードバランシングの重み | 1-100 |
ドメイン名をオリジンとして使用:
オリジン: origin.example.com
利点:
DNS要件:
直接IPアドレスを使用:
オリジン: 203.0.113.50
利点:
考慮事項:
エッジサーバー ──HTTPS──▶ オリジンサーバー
HTTPSオリジンの設定:
エッジサーバー ──HTTP──▶ オリジンサーバー
警告: HTTPオリジンでは、エッジとオリジン間のデータが暗号化されずに送信されます。非機密コンテンツの場合、またはオリジンがプライベートネットワーク上にある場合のみ使用してください。
ホストヘッダーは、オリジンサーバーにどのサイトがリクエストされているかを伝えます。以下の場合に設定します:
| オプション | 動作 |
|---|---|
| 加速ドメイン | ユーザーがリクエストしたドメインを送信 |
| オリジンドメイン | オリジンサーバーのホスト名を送信 |
| カスタム | 指定したカスタムホスト名を送信 |
例:
ユーザーリクエスト: www.example.com
オリジンサーバー: origin.example.com
# オプション1: 加速ドメイン
Host: www.example.com
# オプション2: オリジンドメイン
Host: origin.example.com
# オプション3: カスタム
Host: backend.example.com
オリジン接続のタイムアウト値を設定:
| タイムアウト | デフォルト | 範囲 | 説明 |
|---|---|---|---|
| 接続 | 5秒 | 1-60秒 | TCP接続確立までの時間 |
| 読み取り | 30秒 | 1-300秒 | レスポンス受信までの時間 |
| 送信 | 30秒 | 1-300秒 | リクエスト送信までの時間 |
{
"origin": {
"connect_timeout": 5,
"read_timeout": 60,
"send_timeout": 30
}
}
ヒント: 重い処理を行うAPIの場合は、読み取りタイムアウトを増やしてください。
高可用性のために複数のオリジンサーバーを設定:
リクエストをオリジン間で均等に分散:
オリジン1: 203.0.113.50 (重み: 50)
オリジン2: 203.0.113.51 (重み: 50)
高速なサーバーにより多くのトラフィックを送信:
オリジン1: 203.0.113.50 (重み: 70) ← トラフィックの70%
オリジン2: 203.0.113.51 (重み: 30) ← トラフィックの30%
プライマリ障害時にバックアップオリジンを使用:
オリジン1: 203.0.113.50 (プライマリ)
オリジン2: 203.0.113.51 (バックアップ)
オリジンサーバーの健全性を監視し、異常なサーバーへのトラフィックを迂回:
| 設定項目 | 説明 | デフォルト値 |
|---|---|---|
| パス | チェックするURLパス | /health |
| 間隔 | チェック頻度 | 30秒 |
| タイムアウト | 応答タイムアウト | 5秒 |
| 閾値 | 異常判定までの失敗回数 | 3回 |
オリジンサーバーは以下を返す必要があります:
HTTP/1.1 200 OK
Content-Type: text/plain
OK
2xx系の応答はオリジンが正常と判定されます。
オリジンシールドはエッジサーバーとオリジンサーバーの間に追加のキャッシュ層を設け、オリジン負荷を軽減します:
ユーザー → エッジPoP → オリジンシールド → オリジンサーバー
推奨シールドロケーション:
| オリジン所在地 | シールドロケーション |
|---|---|
| 米国東部 | ワシントンDC |
| 米国西部 | ロサンゼルス |
| ヨーロッパ | フランクフルト |
| アジア太平洋 | シンガポール |
Sudunがオリジンリダイレクトを処理する方法を設定:
| オプション | 動作 |
|---|---|
| 無効 | リダイレクトをユーザーに返す |
| 有効 | エッジでリダイレクトを追従 |
オリジンリクエストにカスタムヘッダーを追加:
X-Forwarded-For: クライアントIPアドレス
X-Real-IP: クライアントIPアドレス
X-Forwarded-Proto: https
X-Sudun-Request-ID: 一意のリクエスト識別子
クエリパラメータをオリジンに転送:
# 有効(デフォルト)
ユーザー: /page?id=123
オリジン: /page?id=123
# 無効
ユーザー: /page?id=123
オリジン: /page
オリジンアドレス: bucket-name.s3.amazonaws.com
オリジンプロトコル: HTTPS
ホストヘッダー: bucket-name.s3.amazonaws.com
S3バケットポリシー:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket-name/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": ["Sudun IPレンジ"]
}
}
}]
}
オリジンアドレス: storage.googleapis.com
オリジンプロトコル: HTTPS
パスプレフィックス: /bucket-name
オリジンサーバーに到達できない:
オリジンサーバーの応答が遅すぎる:
HTTPSオリジンの証明書問題:
API経由でオリジンを設定:
# オリジン設定を取得
curl -X GET https://api.Sudun.com/v1/domains/example.com/origin \
-H "Authorization: Bearer YOUR_API_KEY"
# オリジンを更新
curl -X PUT https://api.yeSudunom/v1/domains/example.com/origin \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origins": [{
"address": "origin.example.com",
"port": 443,
"protocol": "https",
"weight": 100
}],
"health_check": {
"path": "/health",
"interval": 30
}
}'
オリジン設定でお困りですか? support@Sudun.com までお問い合わせください