WebSocket 用の自己署名証明書を構成する

最終公開日 : Nov 13, 2026
2402 LTSR の初回リリース以降、Citrix Virtual Apps and Desktops では、Citrix Brokering Protocol (CBP) を介した WebSocket テクノロジーを使用して、VDA と Delivery Controller 間の通信を容易にすることができます。この機能では、VDA から Delivery Controller への通信に TLS ポート 443 のみが必要です。詳細については、Citrix Virtual Apps and Desktops ドキュメントの「VDA と Delivery Controller 間の WebSocket 通信」を参照してください。
WebSocket は、クライアントとサーバー間のリアルタイムの双方向通信を可能にする強力なテクノロジーです。ただし、特に wss:// を使用する場合に安全な接続を確保するには、特に開発環境やテスト環境では、自己署名証明書を構成することがしばしば必要になります。この記事では、WebSocket 用の自己署名証明書を構成するためのベストプラクティスについて説明します。

手順 1: (ドメインに参加していない VDA のみ) DNS サーバーを構成する

  • Ubuntu および Debian VDA の場合:
  1. 次のように /etc/systemd/resolved.conf を編集して DNS 設定を変更します。
    [Resolve]
    # Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
    # Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
    # Google:     8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
    # Quad9:      9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
    DNS=<DNS IP address>
    #FallbackDNS=
    #Domains=
    #DNSSEC=no
    #DNSOverTLS=no
    #MulticastDNS=no
    #LLMNR=no
    #Cache=no-negative
    #CacheFromLocalhost=no
    #DNSStubListener=yes
    #DNSStubListenerExtra=
    #ReadEtcHosts=yes
    #ResolveUnicastSingleLabel=no
  2. systemd-resolved サービスを再起動します。
    sudo service systemd-resolved restart
    詳細については、<https://notes.enovision.net/linux/changing-dns-with-resolve>を参照してください。
  • RHEL、Rocky Linux、および SUSE VDA の場合:
  1. 次の nmcli コマンドを実行して、接続名の一覧を取得します。
    sudo nmcli connection
  2. 別の nmcli コマンドを実行して、DNS IP アドレスを設定します。
    sudo nmcli con mod {connectionNameHere} ipv4.dns "<dns ip address>"
    たとえば、次のコマンドを使用して DNS IP アドレスを 192.168.2.254 に設定できます。
    sudo nmcli con mod eth0 ipv4.dns "192.168.2.254"
  3. 次のいずれかのコマンドを実行して、新しい DNS 設定をリロードします。
    sudo systemctl restart NetworkManager.servicesudo nmcli connection reload
    詳細については、<https://www.cyberciti.biz/faq/change-dns-ip-address-rhel-redhat-linux/>を参照してください。

手順 2: 証明機関 (CA) に証明書を要求する

  1. 証明書要求を開始します。証明書要求を開始するときは、Delivery Controller の完全修飾ドメイン名 (FQDN) を入力します。
    証明書要求を開始する
  2. 証明書の堅牢なセキュリティを確保するために、2048以上のビット長を選択してください。
    ビット長を選択(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/select-a-bit-length.png)
  3. 識別しやすいように、証明書要求ファイルにわかりやすい名前を付けてください。
    証明書要求ファイルに名前を付ける(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/name-the-certificate-request-file.png)
  4. 生成された証明書要求ファイルをメモ帳などのテキストエディターで開き、その中のすべてのコンテンツを選択します。
    生成された証明書要求ファイルを開く(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/open-the-generated-certificate-request-file.png)
  5. Web証明書サーバーにログインし、証明書を要求する手順に進みます。
    Web証明書サーバーにログイン(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/log-in-to-your-web-certificate-server.png)
    高度な証明書要求(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/advanced-certificate-request.png)
  6. コピーした要求ファイルの内容をWebサーバーの適切なフィールドに貼り付け、Webサーバー証明書テンプレートを選択します。
    証明書要求を送信(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/certificate-template.png)
  7. Base 64エンコード形式で証明書をダウンロードします。
    証明書をダウンロード(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/download-the-certificate.png)
  8. 証明書要求を完了します。ダウンロードが完了すると、証明書要求プロセスは完了です。
    証明書要求を完了(/en-us/linux-virtual-delivery-agent/2507-ltsr/media/complete-the-certificate-request.png)

ステップ 3: Delivery Controller FQDN 証明書をバインドする

  1. Delivery Controller FQDN 証明書を PFX ファイルとしてエクスポートします。
    Delivery Controller FQDN 証明書をエクスポートする
  2. エクスポートした PFX 証明書を、Delivery Controller サーバーの Internet Information Services (IIS) にインポートします。
    エクスポートした PFX 証明書をインポートする
  3. インポートした証明書を、IIS 内のデフォルトの Web サイトにバインドします。
    インポートした証明書をバインドする
  4. バインド処理中に、インポートした特定の証明書を必ず選択してください。
    バインド中にインポートした証明書を選択する

ステップ 4: Linux VDA 上で CA 証明書を保存して更新する

  1. CA 証明書をダウンロードします。例:
    CA 証明書をダウンロードする
  2. CA 証明書を配置して更新します。
    • RHEL および Rocky Linux の場合:
      trust anchor <path/CA certificate> コマンドを使用して CA 証明書を追加します。/etc/pki/ca-trust/source/anchors ディレクトリに証明書が手動で配置されていないことを確認してください。読み取り専用フィールドに関連するエラーが発生した場合は、そのディレクトリに存在する証明書をすべて削除してください。
    • SUSE、Ubuntu、Debianの場合:
      ルートCA証明書を /usr/local/share/ca-certificates ディレクトリに配置します。証明書に .crt 拡張子がない場合は、それに応じて名前を変更します。その後、update-ca-certificate コマンドを実行します。