コンテンツにスキップ

HTTPの設定

HTTPSリダイレクト

オペレーターは、すべてのサービスに対してHTTPSリダイレクトを強制できます。詳細については、「外部ドメイン暗号化の設定」ページで説明されているhttp-protocolを参照してください。

デフォルトのHTTP動作のオーバーライド

サービスごとまたはグローバル構成ごとに、デフォルトの動作をオーバーライドできます。

  • グローバルキー: http-protocol
  • リビジョンごとのアノテーションキー: networking.knative.dev/http-protocol
  • 可能な値
    • enabled — サービスはHTTPトラフィックを受け入れます。
    • redirected — サービスはすべてのHTTP接続に対して301リダイレクトを送信し、代わりにHTTPSを使用するようにクライアントに要求します。
  • デフォルト: enabled

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: example
  namespace: default
  annotations:
    networking.knative.dev/http-protocol: "redirected"
spec:
  ...
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-network
  namespace: knative-serving
data:
  http-protocol: "redirected"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
  name: knative-serving
spec:
  config:
    network:
      http-protocol: "redirected"

ワークロードごとのHTTP/1全二重サポート

Knativeサービスは、データパスでHTTP/1全二重のエンドツーエンドのサポートを有効にすることができます。これは、関連するGolangの問題が発生するシナリオ(例:アプリケーションサーバーが、QPのリバースプロキシがリクエスト全体を消費する前に、QPのリバースプロキシに書き戻す場合)で使用する必要があります。問題が発生する理由の詳細については、こちらを参照してください。

HTTP/1全二重サポートの構成

HTTP/1全二重サポートを有効にするには、次のようにリビジョンスペックレベルで対応するアノテーションを設定できます。

警告

有効にする前にHTTPクライアントでテストしてください。古いクライアントはHTTP/1全二重をサポートしていない場合があります。

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: example-service
  namespace: default
spec:
  template:
    metadata:
      annotations:
        features.knative.dev/http-full-duplex: "Enabled"
...

当社は、サイトトラフィックを把握するために分析とクッキーを使用しています。当社のサイトのご利用に関する情報は、その目的のためにGoogleと共有されます。詳細はこちら。