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