正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。
ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。

Web IDE拡張機能ホストドメイン

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

拡張機能ホストドメインは、拡張機能マーケットプレースを使用してインストールされたサードパーティのコードを分離するために、Web IDEが使用するワイルドカードドメイン名です。Web IDEは、サンドボックス環境で拡張機能を実行するために、Webブラウザの同一オリジンポリシーに依存しています。

GitLabは、*.cdn.web-ide.gitlab-static.netというデフォルトの拡張機能ホストドメインを提供しており、すべてのGitLab提供形態においてデフォルトで利用できます。このワイルドカードドメインは、VS Codeの静的アセットをホストする外部HTTPサーバーを指します。各拡張機能は独自のサブドメインから提供されます。オフライン環境では、ユーザーのウェブブラウザはこの外部HTTPサーバーに接続できず、その結果、Web IDEの機能が制限されます。

この制限を回避するために、GitLabインスタンス管理者は、カスタム拡張機能ホストドメインをセットアップできます。カスタム拡張機能ホストドメインはGitLabインスタンス自体を指し、デフォルトのソリューションと同様に、VS Codeの静的アセットも配信できます。

Web IDE拡張機能ホストドメインで、過度に広範なワイルドカードドメインを設定すると、重大なセキュリティリスクがあります。設定ミスにより、GitLabインスタンスおよび関連するすべてのデータが侵害される可能性があります。

カスタム拡張機能ホストドメインをセットアップする

前提条件:

  • 管理者である必要があります。

これらの手順は、デフォルトのNGINXインストールを使用するLinuxパッケージインストールを対象としています。GitLab管理者およびDevOpsエンジニアは、他のインストール方法に合わせてこのガイドを調整してください。

  1. ガイドに従って、NGINXの設定にカスタム設定を追加し、serverブロックを追加します。このブロックは、拡張機能ホストドメインのリクエストを処理するようにNGINXを設定します。次のコードスニペットは参照用の設定例です。<extension-host-domain-placeholder>を、Web IDE拡張機能ホストドメインのワイルドカードドメイン名に置き換えてください:

    nginx
    server {
      listen *:443 ssl;
      server_name *.<extension-host-domain-placeholder>;
    
      ssl_certificate /etc/gitlab/ssl/<extension-host-domain-placeholder>.pem;
      ssl_certificate_key /etc/gitlab/ssl/<extension-host-domain-placeholder>-key.pem;
    
      ## Individual nginx logs for this GitLab vhost
      access_log  /var/log/gitlab/nginx/gitlab_access.log gitlab_access;
      error_log   /var/log/gitlab/nginx/gitlab_error.log;
    
      location /assets/ {
        client_max_body_size