ミドルウェア
PRX ゲートウェイは、認証、レート制限、CORS、リクエストログなどの横断的関心事を処理するためのコンポーザブルなミドルウェアスタックを使用します。
ミドルウェアスタック
リクエストはミドルウェアスタックを順番に通過します:
- リクエストログ -- タイミング情報付きで受信リクエストをログに記録
- CORS -- クロスオリジンリソース共有ヘッダーを処理
- 認証 -- ベアラートークンまたは API キーを検証
- レート制限 -- クライアントごとのリクエスト制限を適用
- リクエストルーティング -- 適切なハンドラにディスパッチ
認証ミドルウェア
toml
[gateway.auth]
enabled = true
method = "bearer" # "bearer" | "api_key" | "none"
token_secret = "your-secret-key"レート制限
toml
[gateway.rate_limit]
enabled = true
requests_per_minute = 60
burst_size = 10CORS
toml
[gateway.cors]
allowed_origins = ["https://app.example.com"]
allowed_methods = ["GET", "POST", "PUT", "DELETE"]
allowed_headers = ["Authorization", "Content-Type"]
max_age_secs = 86400リクエストログ
すべての API リクエストはメソッド、パス、ステータスコード、レスポンス時間と共にログに記録されます。ログレベルは設定可能です:
toml
[gateway.logging]
level = "info" # "debug" | "info" | "warn" | "error"
format = "json" # "json" | "pretty"