Configurar certificados autofirmados para WebSocket
A partir de la versión inicial de 2402 LTSR, Citrix Virtual Apps and Desktops te permite usar la tecnología WebSocket a través del Protocolo de intermediación de Citrix (CBP) para facilitar la comunicación entre los VDA y los Delivery Controllers. Esta función solo requiere el puerto TLS 443 para la comunicación del VDA al Delivery Controller. Para obtener más información, consulta Comunicación WebSocket entre VDA y Delivery Controller en la documentación de Citrix Virtual Apps and Desktops.
- WebSocket es una tecnología potente que permite la comunicación bidireccional en tiempo real entre un cliente y un servidor. Sin embargo, para garantizar una conexión segura, especialmente al usar wss://, a menudo es necesario configurar un certificado autofirmado, sobre todo en entornos de desarrollo o prueba. Este artículo describe las mejores prácticas para configurar certificados autofirmados para WebSocket.
Paso 1: (Solo para VDA no unidos a un dominio) Configurar el servidor DNS
- Para VDA de Ubuntu y Debian:
-
Cambia la configuración de DNS editando /etc/systemd/resolved.conf de la siguiente manera:
[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 <!--NeedCopy--> -
Reinicia el servicio systemd-resolved.
sudo service systemd-resolved restart <!--NeedCopy-->Para obtener más información, consulta https://notes.enovision.net/linux/changing-dns-with-resolve.
- Para VDA de RHEL, Rocky Linux y SUSE:
-
Ejecuta el siguiente comando nmcli para obtener una lista de nombres de conexión:
sudo nmcli connection <!--NeedCopy--> -
Ejecuta otro comando nmcli para configurar la dirección IP de DNS:
sudo nmcli con mod {connectionNameHere} ipv4.dns "<dns ip address>" <!--NeedCopy-->Por ejemplo, puedes establecer la dirección IP de DNS en 192.168.2.254 usando el siguiente comando:
sudo nmcli con mod eth0 ipv4.dns "192.168.2.254" <!--NeedCopy--> -
Vuelve a cargar la nueva configuración de DNS ejecutando cualquiera de los siguientes comandos:
sudo systemctl restart NetworkManager.service <!--NeedCopy-->sudo nmcli connection reload <!--NeedCopy-->Para obtener más información, consulta https://www.cyberciti.biz/faq/change-dns-ip-address-rhel-redhat-linux/.
Paso 2: Solicitar un certificado a una entidad de certificación (CA)
-
Inicia una solicitud de certificado. Cuando inicies una solicitud de certificado, rellena el nombre de dominio completo (FQDN) del Delivery Controller.

-
Selecciona una longitud de bits de 2048 o superior para garantizar una seguridad sólida para tu certificado.

-
- Asigna un nombre descriptivo a tu archivo de solicitud de certificado para facilitar su identificación.

-
-
Abre el archivo de solicitud de certificado generado usando un editor de texto como el Bloc de notas y selecciona todo el contenido.

-
Inicia sesión en tu servidor de certificados web y procede a solicitar un certificado.


-
Pega el contenido del archivo de solicitud copiado en el campo correspondiente del servidor web y selecciona la plantilla de certificado Servidor web.

-
Descarga el certificado en formato codificado en Base 64.

-
Completa la solicitud de certificado. Una vez descargado, el proceso de solicitud de certificado se ha completado.

Paso 3: Vincular el certificado FQDN del Delivery Controller
-
Exporta el certificado FQDN del Delivery Controller como un archivo PFX.

-
Importa el certificado PFX exportado en los Servicios de información de Internet (IIS) de tu servidor Delivery Controller.

-
Vincula el certificado importado a tu sitio web predeterminado dentro de IIS.

-
Durante el proceso de vinculación, asegúrate de seleccionar el certificado específico que importaste.

Paso 4: Guardar y actualizar el certificado de CA en el VDA de Linux
-
Descarga el certificado de CA. Por ejemplo:

-
Coloca y actualiza el certificado de CA.
-
Para RHEL y Rocky Linux:
Usa el comando trust anchor <ruta/certificado de CA> para agregar el certificado de CA. Asegúrate de que no haya certificados colocados manualmente en el directorio /etc/pki/ca-trust/source/anchors. Si encuentras errores relacionados con campos de solo lectura, quita los certificados presentes en ese directorio.
-
Para SUSE, Ubuntu y Debian:
Coloca el certificado de CA raíz en el directorio /usr/local/share/ca-certificates. Si el certificado no tiene una extensión .crt, cámbiale el nombre según corresponda. Luego, ejecuta el comando update-ca-certificate.
-