> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/gateway/es/knowledge-base/how-to-articles/reverse-proxying/cloudflare-with-devolutions-gateway.md).

# Cloudflare con Devolutions Gateway

{% hint style="warning" %}
Comportamiento importante de Cloudflare Tunnel: el nombre de host público de un túnel con nombre de Cloudflare sirve HTTP/HTTPS/WebSocket en el edge de Cloudflare en el puerto 443. No expone TCP sin procesar como hostname:port en la red pública de Internet. Para las sesiones nativas de relay TCP de RDM, cada cliente debe ejecutar cloudflared access tcp, que crea un listener local como localhost:8181.
{% endhint %}

1. Inicie sesión en el panel de Cloudflare.
2. Vaya a la sección ***Zero Trust*** en el ***Cloudflare Dashboard***. Esto puede solicitarle que elija un plan; el plan gratuito de Zero Trust funcionará.

{% hint style="info" %}
El plan gratuito de Cloudflare se puede usar para instalar y ejecutar túneles de Cloudflare. Sin embargo, en el plan gratuito, el dominio público debe usar DNS de configuración completa, con Cloudflare como servidor de nombres autoritativo.
{% endhint %}

3. Vaya a ***Redes*** – ***Túneles y Mesh*** y haga clic en ***Crear un túnel***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6028_2026_2.png" alt=""><figcaption></figcaption></figure>

4. Seleccione ***Cloudflared*** y haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6009_2026_2.png" alt=""><figcaption></figcaption></figure>

5. Introduzca un nombre y haga clic en ***Guardar túnel***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6002_2026_2.png" alt=""><figcaption></figcaption></figure>

6. Elija el sistema operativo y la arquitectura adecuados.
7. Descargue el instalador mediante el enlace proporcionado.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6010_2026_2.png" alt=""><figcaption></figcaption></figure>

8. ***Copie*** la cadena de configuración.
9. Ejecute el instalador de Cloudflare.
10. En la sección ***Instalar y ejecutar un conector*** de la ventana de instalación de Cloudflare, copie el comando.
11. Abra el servidor con el daemon del túnel de Cloudflare instalado y, a continuación, abra el ***Símbolo del sistema*** como administrador.
12. Pegue la cadena de configuración copiada en el paso 8 y pulse Enter.

{% hint style="info" %}
Es aconsejable verificar que el Estado se muestre como Conectado.\
\
Si el túnel se gestiona mediante token o de forma remota, utiliza la configuración de ingress y TLS definida en el panel de Cloudflare. Si, en cambio, ejecuta cloudflared con un config.yml local que define su propio bloque ingress:, la configuración del panel, incluida No TLS Verify, se ignora.
{% endhint %}

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6005_2026_2.png" alt=""><figcaption></figcaption></figure>

13. Haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6011_2026_2.png" alt=""><figcaption></figcaption></figure>

14. Introduzca un subdominio único.
15. Elija ***HTTPS*** como ***Tipo***. Cuando use un certificado autofirmado o un certificado de una CA interna para Devolutions Gateway, active la opción No TLS Verify en ***Configuración adicional de la aplicación*** – ***TLS***.

{% hint style="info" %}
Use localhost:7171 como URL si se utilizó la configuración predeterminada del gateway.
{% endhint %}

{% hint style="warning" %}
Mantenga desactivada la conexión HTTP2 para el ingress HTTPS. Devolutions Gateway usa WebSocket, y HTTP/2 hacia el origen puede romper las actualizaciones de WebSocket.
{% endhint %}

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6012_2026_2.png" alt=""><figcaption></figcaption></figure>

16. Haga clic en **Completar configuración.**
17. Haga clic en el ***Nombre del túnel*** recién creado.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6015_2026_2.png" alt=""><figcaption></figcaption></figure>

18. Haga clic en ***Rutas de aplicaciones publicadas*** y luego en ***Añadir una ruta de aplicación publicada***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6014_2026_2.png" alt=""><figcaption></figcaption></figure>

19. Introduzca un subdominio único (distinto del paso 14).
20. Elija ***TCP*** como ***Tipo***. Introduzca [`localhost:8181`](http://localhost:8181) si usa el puerto predeterminado.

{% hint style="warning" %}
Cloudflare no termina TLS en la ruta TCP, y no existe ninguna configuración de TLS Verify para TCP. La validación de TLS se realiza de extremo a extremo entre el cliente RDM y Devolutions Gateway a través del puente local cloudflared access tcp.
{% endhint %}

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6016_2026_2.png" alt=""><figcaption></figcaption></figure>

Cuando termine, debería haber dos nombres de host públicos.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6017_2026_2.png" alt=""><figcaption></figcaption></figure>

## **Recuperar la clave de aprovisionamiento**

El fichero de clave pública de DVLS debe ser accesible para el servidor que aloja Devolutions Gateway, que está detrás del túnel de Cloudflare.

1. Inicie sesión en la instancia de Devolutions Server o Devolutions Cloud como usuario con acceso a la configuración de Devolutions Gateway.
2. Vaya a ***Administración*** — ***Devolutions Gateway***.
3. Haga clic en el botón ***Más*** y seleccione ***Descargar clave pública***.

## **Instalar Devolutions Gateway con Cloudflare**

1. Abra una conexión con el servidor que aloja Devolutions Gateway y descargue el [instalador](https://devolutions.net/gateway/).
2. Ejecute el instalador.
3. Haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6018_2026_2.png" alt=""><figcaption></figcaption></figure>

4. Una vez seleccionada la ruta de instalación deseada, haga clic en el botón ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6019_2026_2.png" alt=""><figcaption></figcaption></figure>

5. Haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6020_2026_2.png" alt=""><figcaption></figcaption></figure>

6. Haga clic en ***Siguiente*** en la ventana ***Listeners***.

{% hint style="warning" %}
Es aconsejable dejar los listeners predeterminados, ya que probablemente se correspondan con la configuración del túnel de Cloudflare.
{% endhint %}

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6021_2026_2.png" alt=""><figcaption></figcaption></figure>

7. Introduzca el URI externo por el que se podrá acceder al gateway.
8. Haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6022_2026_2.png" alt=""><figcaption></figcaption></figure>

9. Especifique la ruta a los certificados TLS o a la ubicación del almacén de certificados del sistema.

{% hint style="warning" %}
El certificado del gateway debe incluir todos los nombres que un cliente TLS valida. En el modelo de puente TCP de Cloudflare, el cliente se conecta a `localhost:<port>,` por lo que localhost debe estar en el SAN del certificado, junto con el FQDN interno del gateway. Los nombres de host públicos del túnel de Cloudflare normalmente no necesitan estar en el certificado del gateway.
{% endhint %}

10. Haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6023_2026_2.png" alt=""><figcaption></figcaption></figure>

11. Especifique la ruta a la clave pública recuperada previamente de Devolutions Server o Devolutions Cloud.

{% hint style="info" %}
Este fichero de clave debe ser accesible para la cuenta NetworkService bajo la que se ejecuta Devolutions Gateway.
{% endhint %}

12. Haga clic en ***Siguiente***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6024_2026_2.png" alt=""><figcaption></figcaption></figure>

13. Haga clic en ***Instalar***.

## **Iniciar el cliente Cloudflared en el host de Remote Desktop Manager**

El cliente Cloudflared debe [descargarse](https://github.com/cloudflare/cloudflared/releases) e iniciarse para tunelizar correctamente la conexión. Este cliente creará una conexión saliente de túnel de Cloudflare desde cualquier cliente local de Remote Desktop Manager hacia el túnel de Cloudflare que se conecta a Devolutions Gateway.

El siguiente código debe ejecutarse en una ventana de terminal mientras el túnel deba permanecer abierto, y cada vez que se vaya a acceder a un gateway detrás de un túnel de Cloudflare. El ejecutable del cliente es `cloudflared.exe` (aunque puede que necesite renombrar la versión descargada). Use aquí el mismo puerto local que el Puerto de escucha TCP configurado en Devolutions Server o Hub Business.

{% hint style="info" %}
Aquí lo demostramos usando el puerto `8182`. Si nunca planea ejecutar RDM en el mismo servidor que el servicio Gateway, podría usar `8181`; de lo contrario, obtendría un conflicto de puertos. Una forma de evitarlo es usar un puerto diferente, como se muestra aquí.
{% endhint %}

```
cloudflared.exe access tcp --hostname gateway-client-tcp.mydomain.com --url localhost:8182
```

El software cliente se conecta a `localhost:8182`, no a `gateway-client-tcp.mydomain.com:8181`. Como el cliente TLS valida el certificado del gateway contra `localhost`, el certificado del gateway debe incluir `localhost` en su SAN. Si no lo hace, el registro del gateway puede mostrar `received fatal alert: CertificateUnknown`.

Para evitar ejecutar el código cada vez, cree un servicio:

1. Inicie una sesión de PowerShell con privilegios elevados.
2. Introduzca este código para crear un nuevo servicio de PowerShell:

   ```
   New-Service -Name "Cloudflared Egress" -BinaryPathName '"C:\Tools\cloudflared.exe" access tcp --hostname gateway-client-tcp.mydomain.com --url localhost:8182' -StartupType Automatic
   Start-Service -Name "Cloudflared Egress"
   ```
3. Inicie el servicio.

El túnel ahora se ejecuta de forma permanente en el lado del cliente.

## **Configurar Devolutions Server**

1. Inicie sesión en una instancia de Devolutions Server como usuario con acceso a la configuración de Devolutions Gateway.
2. Vaya a ***Administración*** — ***Devolutions Gateway***.
3. Haga clic en el botón ***Añadir*** (***+***) y elija ***Gateway***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DVLS6009_2026_2.png" alt=""><figcaption></figcaption></figure>

4. Introduzca los detalles recuperados previamente de Cloudflare usados para configurar Devolutions Gateway.

Puede ser necesario preceder el dominio del túnel de Cloudflare con `https://`. La ***Detección automática*** solo funcionará si el nombre de host HTTPS es accesible a través de Cloudflare.

{% hint style="info" %}
Establezca la URL del Gateway en el nombre de host del túnel HTTPS, por ejemplo, <https://gateway.mydomain.com>. Establezca el Nombre de host TCP en localhost, no en el nombre de host público del túnel TCP. Establezca el Puerto de escucha TCP en el mismo puerto local usado por el puente del cliente, por ejemplo 8182.
{% endhint %}

{% hint style="warning" %}
Asegúrese de no usar el puerto TCP al final de la URL del Gateway. La URL del Gateway usa el nombre de host HTTPS de Cloudflare en el 443; el puerto TCP se configura por separado como el Puerto de escucha TCP.
{% endhint %}

5. Haga clic en ***Guardar***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6025_2026_2.png" alt=""><figcaption></figcaption></figure>

6. Haga clic en el botón de puntos suspensivos (***Más***) junto al gateway recién configurado y seleccione ***Publicar lista de revocación***.
7. Si la opción ***Publicar la configuración del Gateway*** está disponible, debería realizarse antes de ***Publicar lista de revocación***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DVLS6011_2026_2.png" alt=""><figcaption></figcaption></figure>

## **Configurar Devolutions Cloud**

1. Inicie sesión en una instancia de Devolutions Cloud como usuario con acceso a la configuración de Devolutions Gateway.
2. Vaya a ***Administración*** — ***Devolutions Gateway***.
3. Haga clic en el botón ***Añadir*** (***+***).
4. Introduzca los detalles recuperados previamente de Cloudflare usados para configurar Devolutions Gateway.

Puede ser necesario preceder el dominio del túnel de Cloudflare con https\://. La ***Detección automática*** solo funcionará si el nombre de host HTTPS es accesible a través de Cloudflare.

{% hint style="info" %}
Establezca la URL del Gateway en el nombre de host del túnel HTTPS, por ejemplo, <https://gateway.mydomain.com>. Establezca el Nombre de host TCP en localhost, no en el nombre de host público del túnel TCP. Establezca el Puerto de escucha TCP en el mismo puerto local usado por el puente del cliente, por ejemplo 8182.
{% endhint %}

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DGW6027_2026_2.png" alt=""><figcaption></figcaption></figure>

5. Recorra cualquier combinación de las pestañas ***Bóvedas***, ***Grupos,*** o ***Usuarios*** para decidir cómo se distribuirán las licencias.
6. Haga clic en ***Añadir***.
7. Haga clic en el botón de puntos suspensivos (***Más***) junto al gateway recién configurado y seleccione ***Publicar la configuración del Gateway***.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/DVLS6013_2026_2.png" alt=""><figcaption></figcaption></figure>

## **Notas de resolución de problemas**

* `received fatal alert: CertificateUnknown` En el registro del gateway, esto normalmente significa que un cliente TLS rechazó el certificado del gateway debido a una discrepancia de SAN/nombre. En esta configuración, a menudo significa que el Nombre de host TCP es `localhost` pero falta `localhost` en el SAN del certificado del gateway.
* Un diagnóstico rojo de **configuración del nombre de host de escucha TCP** normalmente indica que DVLS no puede alcanzar TCP sin procesar en el nombre de host configurado. Si apunta al FQDN público del túnel, cámbielo a `localhost` y asegúrese de que el puente local `cloudflared access tcp` esté en ejecución.
* **Certificate could not be verified** con campos en blanco, seguido de `Cannot read properties of null (reading 'thumbprint')`, suele significar que la detección del gateway no devolvió ningún certificado porque el túnel o el gateway no eran accesibles. Solucione primero la accesibilidad.
* El error 1033 de Cloudflare significa que Cloudflare no puede resolver el túnel. Confirme que el daemon `cloudflared` de origen está en ejecución y que el estado del túnel es **Conectado**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/gateway/es/knowledge-base/how-to-articles/reverse-proxying/cloudflare-with-devolutions-gateway.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
