すべてのプロダクト
Search
ドキュメントセンター

Function Compute:カスタムドメイン名の設定

最終更新日:Sep 09, 2024

Function Computeは、作成されたHTTP関数のデフォルトアクセスURLを提供します。 ブラウザでURLにアクセスすると、強制ダウンロードがトリガーされます。 強制ダウンロードをトリガーせずにブラウザを使用して、または固定ドメイン名を使用して関数にアクセスする場合は、カスタムドメイン名を設定する必要があります。

一般的なシナリオ

HTTP関数は、HTTPリクエストを処理して結果を呼び出し元に返すことができるwebアプリケーションに似ています。 次のサンプルシナリオでは、カスタムドメイン名をwebアプリケーションにバインドする必要があります。

  • webアプリケーションを作成し、アプリケーションをFunction Computeに移行し、固定ドメイン名を使用してwebアプリケーションにアクセスします。

  • Function Computeコンソールでwebアプリケーションを構築し、Function Computeが提供するデフォルトのURLを使用してwebアプリケーションにアクセスします。 デフォルトのURLは次の形式に従います。<account_id>.<region_id>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/[action?queries] ただし、このURLを介してアプリケーションにアクセスすると、強制ダウンロードがトリガーされます。 ユーザーに影響を与えずにアプリケーションのURLを変更したい場合。

前提条件

HTTP関数が作成されます。 詳細については、「関数の作成」をご参照ください。 カスタムドメイン名から送信されるリクエストは、HTTP関数のみをトリガーできます。

制限事項

  • 漢字を含むドメイン名はサポートされていません。

  • 設定されたカスタムドメイン名は大文字と小文字を区別します。 インターネットコンテンツプロバイダ (ICP) の登録を取得する実際のドメイン名を使用します。

  • ワイルドカードドメイン名と標準ドメイン名を設定できます。

  • ドメイン名の長さは最大256文字です。 各レベルのサブドメイン名には、少なくとも1文字を含める必要があり、最大63文字の長さにすることができます。 サブドメイン名には、文字 (大文字と小文字を区別する) 、数字 (0〜9) 、およびハイフン (-) を使用できます。 ただし、ドメイン名の先頭にハイフン (-) は使用できません。 ドメイン名の最後の部分 (トップレベルドメイン名) は、長さが2文字以上のアルファベット文字の文字列である必要があります。

手順

カスタムドメイン名を設定するプロセス

image

ステップ1: ICPファイリングの取得

ドメイン名が属するサービスプロバイダーとアカウントに基づいて、ドメイン名のICPファイリングを取得します。 プロセスを完了するために対応する操作ガイドを参照して下さい。

説明
  • 中国 (香港) または中国本土以外のリージョンの関数にバインドされているカスタムドメイン名のICPファイリングを申請する必要はありません。

  • WHOISでサービスプロバイダーにドメイン名を照会できます。

  • Alibaba Cloud DNSコンソールで、ドメイン名が現在のAlibaba Cloudアカウントに属しているかどうかを確認できます。

  • 現在のAlibaba Cloudアカウントで登録されているドメイン名

    Alibaba Cloud ICPファイリングシステムでカスタムドメイン名のICPファイリングを申請します。 詳細については、「概要」をご参照ください。

  • 他のAlibaba Cloudアカウントによって登録されたドメイン名

    ドメイン名の登録に使用されるAlibaba Cloudアカウントを使用して、ドメイン名のICP申請を取得することを推奨します。 Alibaba Cloud ICPファイリングシステムにログインし、カスタムドメイン名のICPファイリングを申請します。 詳細については、「概要」をご参照ください。

  • Alibaba Cloud以外のアカウントで登録されたドメイン名

    エンティティとドメイン名が別のサービスプロバイダーを通じて提出され、サービスプロバイダーをAlibaba Cloudに変更するか、Alibaba CloudをWebサイトの新しいサービスプロバイダーとして追加する必要がある場合は、Alibaba CloudでICP申請を申請する必要があります。 Alibaba Cloud ICPファイリングシステムにログインし、カスタムドメイン名のICPファイリングを申請します。

手順2: ドメイン名解決の設定

詳細については、次をご参照ください: クイックスタート

対応するリージョンのFunction Computeのエンドポイントにドメイン名を解決する必要があります。 つまり、カスタムドメイン名のCNAMEをFunction Computeのエンドポイントに設定する必要があります。 DNSページで、レコードタイプCNAMEに設定し、レコード値Function Computeのエンドポイントに設定します。

次の表に、Function Computeエンドポイントの形式を示します。

エンドポイント形式

Format

パブリックエンドポイント

<account_id> 。<region_id>.fc.aliyuncs.com

カスタムドメイン: example.com。 Alibaba Cloudアカウント: 164901546557 **** 。 地域: 中国 (上海) 。

パブリックエンドポイント: 164901546557 **** .cn-shanghai.fc.aliyuncs.com

イントラネットアドレス

<account_id> 。<region_id>-internal.fc.aliyuncs.com

内部エンドポイント: 164901546557 **** .cn-shanghai-internal.fc.aliyuncs.com

説明

インターネット経由でドメイン名にアクセスする場合は、レコード値Function Computeのパブリックエンドポイントに設定する必要があります。

手順3: カスタムドメイン名の追加

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[詳細機能] > [カスタムドメイン] を選択します。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [カスタムドメイン] ページで、[カスタムドメイン名の追加] をクリックします。

  3. カスタムドメイン名の追加ページで、パラメーターを設定し、作成. 下表に、各パラメーターを説明します。

    パラメーター

    説明

    ドメイン名

    Alibaba Cloud ICP登録システムでICP登録を取得したカスタムドメイン名、またはICP登録情報にサービスプロバイダーとしてAlibaba Cloudが含まれているカスタムドメイン名を入力します。 www.aliyun.comなどの特定のドメイン名または * .aliyun.comなどのワイルドカードドメイン名を入力できます。

    HTTPS

    HTTPS経由でのカスタムドメイン名へのアクセスを許可または禁止するには、[有効] または [無効] を選択します。 有効な値:

    • 有効: HTTPS経由でカスタムドメイン名にアクセスできるようにします。 [有効] を選択すると、HTTPまたはHTTPSでカスタムドメイン名にアクセスできます。

      説明

      [HTTPリクエストをHTTPSにリダイレクトする] チェックボックスを選択して、HTTPSリクエストのみを許可することもできます。 Function Computeは、HTTP経由でアクセスされたリクエストをHTTPSにリダイレクトします。

    • 無効: HTTPS経由でのカスタムドメイン名へのアクセスを無効にします。 [無効] を選択した場合、HTTP経由でのみカスタムドメイン名にアクセスできます。

    証明書タイプ

    アップロードする証明書の種類を選択します。 このパラメーターは、HTTPSパラメーターの有効化を選択した場合にのみ必要です。 有効な値:

    • Alibaba Cloud SSL証明書: [証明書名] ドロップダウンリストからAlibaba Cloud SSL証明書を選択します。 [証明書名] ドロップダウンリストに値がない場合、Alibaba Cloud SSL証明書はありません。 この場合、Certificate Management ServiceコンソールにログインしてSSL証明書を購入します。

    • 手動アップロード: 証明書名PEM証明書の内容、およびPEM証明書キーパラメーターを手動で設定します。

      説明

      アップロードする証明書のサイズは20 KBを超えることはできません。 証明書キーのサイズは4 KBを超えることはできません。

    TLSバージョン

    関数が使用するトランスポート層セキュリティ (TLS) プロトコルバージョンをドロップダウンリストから選択します。 このパラメーターを空のままにすると、TLS 1.0、TLS 1.1、TLS 1.2を含むTLS 1.0以降のバージョンが使用されます。 有効な値:

    • TLS 1.0以降 (最高の互換性と低セキュリティ) 。 TLS 1.0、TLS 1.1、およびTLS 1.2がサポートされています。

    • TLS 1.1以降 (高い互換性と高いセキュリティ) 。 TLS 1.1とTLS 1.2がサポートされています。

    • TLS 1.2以降 (高い互換性と最高のセキュリティ): TLS 1.2のみがサポートされています。

    説明

    TLSバージョンを選択した後、[TLS1.3のサポートを有効にする] を選択することもできます。 これにより、TLS 1.3がサポートされます。

    暗号スイート

    TLS暗号アルゴリズムスイートを選択します。 このパラメーターを空のままにすると、すべての暗号スイートが選択されます。 有効な値:

    • すべての暗号スイート (高い互換性と低いセキュリティ): すべての暗号スイート。 Function Computeでサポートされている暗号スイートのリストについては、「強力な暗号スイートと弱い暗号スイート」をご参照ください。

    • Custom Cipher Suite (プロトコルバージョンに基づいて選択) 。 注意) に進む: ビジネス要件に基づいて暗号スイートを選択します。 すべての暗号スイートがドロップダウンリストに表示されます。 暗号スイートの右側にあるdeleteアイコンをクリックすると、暗号スイートの選択を解除できます。 これにより、弱い暗号スイートを削除し、指定したTLSバージョンでサポートされている暗号スイートのみを保持できます。

    重要
    • カスタム暗号スイートは慎重に選択してください。 クライアントによって使用される暗号スイートが、サーバーによって使用される暗号スイートと一致することを確認します。

    • TLSバージョンとサポートされている暗号スイート間のマッピングの詳細については、「TLSバージョンと暗号スイート間のマッピング」をご参照ください。

    • Function Computeは、RFC命名規則に基づいて暗号スイートに名前を付けます。 暗号スイートの名前は、命名規則によって異なります。 RFCとOpenSSL暗号スイートの違いの詳細については、「RFC暗号スイートとOpenSSL暗号スイートの名前間のマッピング」をご参照ください。

    CDNアクセラレーション

    カスタムドメイン名のCDNアクセラレーションを有効にするかどうかを指定します。 カスタムドメイン名に対してCDNアクセラレーションを有効にすると、エンドユーザーはCDNアクセラレーションドメイン名を使用してコンテンツを高効率で読み取ることができます。 有効な値:

    • 有効化: CDNアクセラレーションを有効にします。 CDN AccelerationパラメーターをEnableに設定した場合、CDN-accelerated domain nameフィールドに高速化ドメイン名を入力する必要があります。 次に、CDNコンソールにログインし、高速化ドメイン名のCNAMEレコードを設定します。 詳細については、「 (オプション) 手順4: CDNアクセラレーションの有効化」をご参照ください。

    • 無効化: CDNアクセラレーションを無効にします。

    Webアプリケーションファイアウォール (WAF)

    カスタムドメイン名に対してWAFを有効にするかどうかを指定します。 この機能は、関数とアプリケーションの悪意のあるトラフィックを識別し、悪意のあるトラフィックをスクラブして除外し、通常のトラフィックをバックエンド関数に返して、悪意のある侵入から関数を保護します。 詳細については、「WAF保護の有効化」をご参照ください。 有効な値:

    • 有効

    • 無効化

    ルート

    パスと関数間のマッピングを設定します。 このように、異なるパスからの要求は、異なる機能をトリガできる。 次のフィールドを設定する必要があります。

    • パス: 指定されたサービスで指定された関数をトリガーできるリクエストパス。

    • サービス名: 指定されたパスからのリクエストによってトリガーされる関数が属するサービスの名前。

    • 関数名: 指定されたパスからのリクエストによってトリガーされる関数の名前。

    • VersionまたはAlias: 指定されたパスからのリクエストによってトリガーされる関数が属するサービスのバージョンまたはエイリアス。

    • 書き換えポリシー: 指定されたパス内のリクエストのURI (Uniform Resource Identifier) が書き換えられるルール。 詳細については、「手順」をご参照ください。

    ビジネス要件に基づいて複数のルートを設定できます。 詳細は、「ルーティングルール」をご参照ください。

    カスタムドメイン名を設定した後、ビジネス要件に基づいて変更または削除できます。

    重要

    カスタムドメイン名を削除すると、そのドメイン名を使用してFunction Computeにアクセスするすべてのリクエストは失敗します。 この操作を実行する場合は注意してください。

(最適) ステップ4: CDNアクセラレーションの有効化

カスタムドメイン名をwebアプリケーションにバインドした後、カスタムドメイン名をオリジンドメイン名として使用し、高速化ドメイン名を追加できます。 次に、高速化ドメイン名のCNAMEを設定できます。 これにより、カスタムドメイン名に対してCDNアクセラレーションが有効になります。 Function Computeにデプロイされたアプリケーションはオリジンサーバーとして機能し、ソースコンテンツはエッジノードに公開されます。 このようにして、エンドユーザーは必要なコンテンツを高効率で読むことができます。 これにより、レイテンシが効率的に削減され、サービス品質が向上します。

高速化ドメイン名を追加した後、Function Computeコンソールでカスタムドメイン名のCDN高速化が有効になっているかどうか、およびCDNコンソールで追加された指定された高速化ドメイン名がカスタムドメイン名にバインドされているかどうかを確認できます。

説明
  • CDNアクセラレーション機能を有効にすると、インターネット経由で転送されたデータに対して課金されます。 詳細については、「課金の概要」をご参照ください。

  • カスタムドメイン名と高速化ドメイン名を同じにすることはできません。 たとえば、カスタムドメイン名をo www.test.comに設定した場合、高速化ドメイン名をs cdn.test.comなどの別のドメイン名に設定する必要があります。

  1. CDNコンソールにログインし、CDNアクセラレーションを有効にします。

    詳細については、「ドメイン名の追加」をご参照ください。

    [Origin Info] パラメーターを設定したら、[Function Computeドメイン] を選択します。 次に、管理するFunction Computeサービスが存在するリージョンと、作成したカスタムドメイン名を選択します。

  2. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[詳細機能] > [カスタムドメイン] を選択します。

  3. 上部のナビゲーションバーで、リージョンを選択します。 ドメイン名リストで、目的のドメイン名を見つけて、[操作] 列の [編集] をクリックします。

  4. [カスタムドメイン名の変更] ページで、CDNコンソールから同期されるCDN高速化ドメイン名設定を表示します。

    accelerate-domain2

  5. CDNドメイン名がカスタムドメイン名に追加されると、CDNはCNAMEをカスタムドメイン名に割り当てます。 [カスタムドメイン] ページでCNAMEレコードを取得し、高速化ドメインのDNS解析をCNAMEレコードにマッピングします。

    詳細については、「ドメイン名のCNAMEレコードの追加」をご参照ください。

    説明

    CNAMEの形式は次のとおりです。たとえば、Accelerated domai n name.w.alikunlun.com example.aliyundoc.com.w.alikunlun.com

手順5: カスタムドメイン名の確認

カスタムドメイン名またはCDN高速化ドメイン名を追加した後、次のいずれかの方法を使用して、カスタムドメイン名またはCDN高速化ドメイン名にアクセスできるかどうかを確認できます。

  • 方法1: curl URLコマンド (例: cur l example.com/login) を実行します。

  • 方法2: ブラウザを使用します。

    ブラウザのアドレスバーにリクエストURLを入力し、Enterキーを押して、指定された関数が呼び出されているかどうかを確認します。

暗号スイート

強い暗号スイートと弱い暗号スイート

次の表に、Function Computeでサポートされている強暗号スイートと弱暗号スイートを示します。

強力な暗号スイート:

弱い暗号スイート:

  • TLS_RSA_WITH_AES_128_CBC_SHA

  • TLS_RSA_WITH_AES_256_CBC_SHA

  • TLS_RSA_WITH_AES_128_GCM_SHA256

  • TLS_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

  • TLS_RSA_WITH_RC4_128_SHA

  • TLS_RSA_WITH_3DES_EDE_CBC_SHA

  • TLS_RSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

  • TLS_ECDHE_RSA_WITH_RC4_128_SHA

  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLSバージョンと暗号スイート間のマッピング

次の表に、各TLSバージョンでサポートされているTLSバージョンと暗号スイート間のマッピングを示します。 デフォルトでは、次の表の暗号スイートはすべてFunction Computeで設定されます。

説明

次の表では、支持TLSバージョンが暗号スイートをサポートしていることを示します。 not-supportは、TLSバージョンが暗号スイートをサポートしていないことを示します。

TLSバージョンと暗号スイート間のマッピングを表示するために展開します。

暗号スイート

TLS 1.0

TLS 1.1

TLS 1.2

TLS 1.3

TLS_RSA_WITH_3DES_EDE_CBC_SHA

支持

支持

支持

not-support

TLS_RSA_WITH_AES_128_CBC_SHA

支持

支持

支持

not-support

TLS_RSA_WITH_AES_256_CBC_SHA

支持

支持

支持

not-support

TLS_RSA_WITH_AES_128_GCM_SHA256

not-support

not-support

支持

not-support

TLS_RSA_WITH_AES_256_GCM_SHA384

not-support

not-support

支持

not-support

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

支持

支持

支持

not-support

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

支持

支持

支持

not-support

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

支持

支持

支持

not-support

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

支持

支持

支持

not-support

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

支持

支持

支持

not-support

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

not-support

not-support

支持

not-support

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

not-support

not-support

支持

not-support

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

not-support

not-support

支持

not-support

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

not-support

not-support

支持

not-support

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

not-support

not-support

支持

not-support

TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

not-support

not-support

支持

not-support

TLS_RSA_WITH_RC4_128_SHA

not-support

not-support

not-support

not-support

TLS_RSA_WITH_AES_128_CBC_SHA256

not-support

not-support

not-support

not-support

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

not-support

not-support

not-support

not-support

TLS_ECDHE_RSA_WITH_RC4_128_SHA

not-support

not-support

not-support

not-support

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

not-support

not-support

not-support

not-support

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

not-support

not-support

not-support

not-support

TLS_AES_128_GCM_SHA256

not-support

not-support

not-support

支持

TLS_AES_256_GCM_SHA384

not-support

not-support

not-support

支持

TLS_CHACHA20_POLY1305_SHA256

not-support

not-support

not-support

支持

RFC暗号スーツ名とOpenSSL暗号スイート名のマッピング

RFC暗号スイート名

OpenSSL暗号スイート名

TLS_RSA_WITH_3DES_EDE_CBC_SHA

DES-CBC3-SHA

TLS_RSA_WITH_AES_128_CBC_SHA

AES128-SHA

TLS_RSA_WITH_AES_256_CBC_SHA

AES256-SHA

TLS_RSA_WITH_AES_128_GCM_SHA256

AES128-GCM-SHA256

TLS_RSA_WITH_AES_256_GCM_SHA384

AES256-GCM-SHA384

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

ECDHE-ECDSA-AES128-SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

ECDHE-ECDSA-AES256-SHA

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

ECDHE-RSA-DES-CBC3-SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

ECDHE-RSA-AES128-SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

ECDHE-RSA-AES256-SHA

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

ECDHE-RSA-AES128-GCM-SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

ECDHE-ECDSA-AES128-GCM-SHA256

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

ECDHE-RSA-AES256-GCM-SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

ECDHE-ECDSA-AES256-GCM-SHA384

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

非該当

TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

非該当

TLS_RSA_WITH_RC4_128_SHA

RC4-SHA

TLS_RSA_WITH_AES_128_CBC_SHA256

AES128-SHA256

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

ECDHE-ECDSA-RC4-SHA

TLS_ECDHE_RSA_WITH_RC4_128_SHA

ECDHE-RSA-RC4-SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

ECDHE-ECDSA-AES128-SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

ECDHE-RSA-AES128-SHA256

TLS_AES_128_GCM_SHA256

TLS_AES_128_GCM_SHA256

TLS_AES_256_GCM_SHA384

TLS_AES_256_GCM_SHA384

TLS_CHACHA20_POLY1305_SHA256

TLS_CHACHA20_POLY1305_SHA256

マッチングルール

ルートマッチングルール

カスタムドメイン名をバインドする場合は、パスと関数間のマッピングを設定する必要があります。 このように、異なるパスからの要求は、異なる機能をトリガできる。 Function Computeは、パスの完全一致とファジー一致をサポートしています。 次の項目は、マッチングルールを示しています。

  • 完全一致: リクエストのパスが指定されたパスとまったく同じである場合にのみ、関数がトリガーされます。

    たとえば、パスが /a、対応する関数が関数1、対応するバージョンがバージョン1のルートを作成したとします。 この場合、/aパスからのリクエストのみがバージョン1の関数1をトリガーできます。

  • ファジーマッチング: パスにアスタリスク (*) をワイルドカードとして追加できます。

    たとえば、パスが /login/* で、対応する関数が関数2で、対応するバージョンがバージョン1であるルートを作成したとします。 /login/a/login/b/c/dなど、/login/ で始まるパスからのリクエストは、バージョン1の関数2をトリガーできます。

説明
  • カスタムドメイン名に複数のルートが設定されている場合、完全一致はファジー一致よりも優先されます。

  • 最長プレフィックス一致 (LPM) ルールは、ファジーマッチングが実行されるときに適用される。

    たとえば、/login/a/* パスと /login/* パスがカスタムドメイン名example.comに設定され、リクエストURLがexample.com/login/a/bされます。 この場合、リクエストURLは設定されたパスと一致します。 ただし、/login/a/* パスはLPMルールに基づいて使用されます。

カスタムドメイン名がexample.comです。 次の表に、このトピックで説明する手順に基づいて構成される5つのルーティングルールを示します。

ルーティングルール

パス

サービス名

関数名

バージョン

ルーティングルール1

/

s1

f1

1

ルーティングルール2

/*

s2

f2

2

ルーティングルール3

/ログイン

s3

f3

3

ルーティングルール4

/login/a

s4

f4

4

ルーティングルール5

/login/*

s5

f5

5

次の表では、最終的な一致について説明します。

リクエスト URL

一致したサービス名

一致した関数名

一致バージョン

一致したパス

example.com

s1

f1

1

/

example.com/user

s2

f2

2

/*

example.com/login

s3

f3

3

/ログイン

example.com/login/a

s4

f4

4

/login/a

example.com/login/a/b

s5

f5

5

/login/*

example.com/login/b

s5

f5

5

/login/*

ドメイン名一致ルール

Function Computeは、リクエスト内のドメイン名情報に基づいてドメイン名を照合し、一致したドメイン名に対応する関数にリクエストを転送します。 Function Computeは、ドメイン名の完全一致とファジー一致をサポートしています。 次の項目は、マッチングルールを示しています。

  • 完全一致: ドメイン名に対応する関数は、リクエストのドメイン名が作成したカスタムドメイン名と完全に一致する場合にのみトリガーできます。

  • ファジーマッチング: ワイルドカードドメイン名がサポートされています。 この関数は、リクエストのドメイン名がワイルドカードに基づいて作成したカスタムドメイン名と一致する場合にトリガーできます。 ドメイン名には最大1つのワイルドカード文字 (*) を含めることができ、ワイルドカード文字はドメイン名の先頭に配置する必要があります。

説明
  • リクエストが単一のドメイン名とワイルドカードドメイン名に同時に一致する場合、リクエストは単一のドメイン名に対応する関数に転送されます。

  • ファジーマッチングの場合、ワイルドカードドメイン名は同じレベルのドメイン名とのみ一致します。 たとえば、* .aliyun.comfc.aliyun.comに一致できますが、cn-hangzhou.fc.aliyun.comには一致できません。 サンプルマッチング結果は、* .aliyun.comfc.aliyun.comが第3レベルドメインであり、cn-hangzhou.fc.aliyun.comが第4レベルドメインであることを示しています。

次の表に、次の既存のドメイン名 (* .aliyun.com、および * .fc.aliyun.com) の一致するドメイン名を示しfc.aliyun.com

リクエストドメイン名

一致したドメイン名

fc.aliyun.com

fc.aliyun.com

fnf.aliyun.com

*.aliyun.com

cn-hangzhou.fc.aliyun.com

* .fc.aliyun.com

accountID.cn-hangzhou.fc.aliyun.com

なし

よくある質問

HTTPトリガーのパブリックエンドポイントを本番環境で使用できますか?

Webサイトサービスは、ICPファイリングを取得したドメイン名を使用してのみ提供できます。 カスタムドメイン名を設定し、ドメイン名を関数にバインドしてから、ドメイン名を使用してサービスを提供できます。

カスタムドメイン名にアクセスするときに502 Bad Gatewayエラーが発生した場合はどうすればよいですか?

ドメイン名解決の設定時に設定した [レコード値] パラメーターを確認します。 インターネット経由でドメイン名にアクセスする場合は、[レコード値] をFunction Computeのパブリックエンドポイントに設定します。 詳細については、「手順2: ドメイン名解決の設定」をご参照ください。

漢字を含むドメイン名を使用してカスタムドメイン名を設定すると、エラーが報告された場合はどうすればよいですか。

漢字を含むドメイン名は、Function Computeのカスタムドメイン名ではサポートされていません。

ブラウザを介してドメイン名にアクセスするときの強制ダウンロードの問題を解決するにはどうすればよいですか?

デフォルトでは、HTTPトリガーによって生成されたパブリックエンドポイントにはICPファイリングがありません。 ブラウザを使用してパブリックエンドポイントにアクセスすると、強制ダウンロードがトリガーされます。 ソリューションの詳細については、「ブラウザを介してHTTP関数にアクセスすると、結果が強制的にダウンロードされる」をご参照ください。 この問題を解決するにはどうすればよいですか? 」をご参照ください。

高速化ドメイン名にアクセスするときに301リダイレクトが発生した場合はどうすればよいですか?

カスタムドメイン名を設定するときに、強制HTTPSリダイレクトが有効になっているかどうかを確認します。 リダイレクト301必要がない場合は、この機能を無効にします。

ルートを設定するときに作成したサービスや機能を選択できない場合はどうすればよいですか?

  • カスタムドメイン名とサービスが同じリージョンにあることを確認してください。

  • ルート設定でHTTPトリガーが作成されている関数だけを選択できます。

ルートを使用して関数をトリガーできない場合はどうすればよいですか?

設定されたルートが関数の対応するパスに実装されているかどうかを確認します。 そうでない場合、リクエストは失敗します。

診断

カスタムドメイン名をバインドするときにエラーが発生した場合、サーバーはエラーメッセージを返します。 次の表に、問題の迅速なトラブルシューティングに役立つ一般的なエラーコードを示します。

エラーコード

HTTPステータスコード

エラーメッセージ

原因

InvalidICPLicense

400

ドメイン名 '% s' にICPライセンスがないか、ICPライセンスがAliyunに属していない

ドメイン名にICP登録がない場合、またはICP登録の情報にサービスプロバイダーとしてのAlibaba Cloudが含まれていない場合に返されるエラーメッセージ。 詳細については、「手順1: ICPファイリングの取得」をご参照ください。

DomainNameNotResolved

400

ドメイン名 '% s' はFCエンドポイントに解決されていません。予想されるエンドポイントは' % s' です

指定されたエンドポイントを指すドメイン名にCNAMEが設定されていない場合に返されるエラーメッセージ。 CNAMEの設定を確認するには、digコマンドを実行するか、ドメインネームシステム (DNS) サーバーにログインします。

DomainRouteNotFound

404

パス '% s' のドメイン' % s' にルートが見つかりません

指定されたパスに関数が設定されていない場合に返されるエラーメッセージ。

TriggerNotFound

404

トリガー 'http' がサービス '% s' に存在せず、関数' % s'

カスタムドメイン名にバインドされている関数にHTTPトリガーが設定されていない場合に返されるエラーメッセージ。

DomainNameNotFound

404

ドメイン名 '% s' は存在しません

照会するドメイン名が存在しない場合に返されるエラーメッセージ。

DomainNameAlreadyExists

409

ドメイン名 '% s' は既に存在します

バインドするドメイン名が既に存在する場合に返されるエラーメッセージ。

問題が解決しない場合はDingTalkグループに参加する11721331テクニカルサポートのため。