> 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/fr/knowledge-base/how-to-articles/reverse-proxying/cloudflare-with-devolutions-gateway.md).

# Cloudflare avec Devolutions Gateway

Configurer Devolutions Gateway derrière un tunnel Cloudflare, en couvrant la configuration du tunnel, les certificats et la configuration de Devolutions Server ou Cloud.

{% hint style="warning" %}
Comportement important des tunnels Cloudflare : un nom d'hôte public de tunnel nommé Cloudflare sert le trafic HTTP/HTTPS/WebSocket à la périphérie Cloudflare sur le port 443. Il n'expose pas le TCP brut sous la forme hôte:port sur l'internet public. Pour les sessions de relais TCP natives de RDM, chaque client doit exécuter cloudflared access tcp, ce qui crée un écouteur local tel que localhost:8181.
{% endhint %}

1. Connectez-vous au tableau de bord Cloudflare.
2. Allez à la section ***Zero Trust*** sous le ***Cloudflare Dashboard***. Cela peut vous demander de choisir un plan; le plan gratuit Zero Trust fonctionnera.

{% hint style="info" %}
Le plan Cloudflare gratuit peut être utilisé pour installer et exécuter des tunnels Cloudflare. Cependant, avec le plan gratuit, le domaine public doit utiliser une configuration DNS complète, avec Cloudflare comme serveur de noms autoritaire.
{% endhint %}

3. Allez à ***Networks*** – ***Tunnels & Mesh*** et cliquez sur ***Create a tunnel***.

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

4. Sélectionnez ***Cloudflared*** et cliquez sur ***Next***.

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

5. Saisissez un nom et cliquez sur ***Save tunnel***.

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

6. Choisissez le système d'exploitation et l'architecture appropriés.
7. Téléchargez l'installateur via le lien fourni.

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

8. ***Copiez*** la chaîne de configuration.
9. Exécutez l'installateur Cloudflare.
10. Dans la section ***Install and run a connector*** de la fenêtre d'installation Cloudflare, copiez la commande.
11. Ouvrez le serveur sur lequel le démon de tunnel Cloudflare est installé, puis ouvrez l'***Invite de commandes*** en tant qu'administrateur.
12. Collez la chaîne de configuration copiée à l'étape 8, puis appuyez sur Entrée.

{% hint style="info" %}
Il est conseillé de vérifier que le Status indique Connected.\
\
Si le tunnel est géré par jeton ou à distance, il utilise les paramètres d'entrée (ingress) et TLS configurés dans le tableau de bord Cloudflare. Si vous exécutez plutôt cloudflared avec un fichier config.yml local qui définit son propre bloc ingress:, les paramètres du tableau de bord, y compris No TLS Verify, sont ignorés.
{% endhint %}

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

13. Cliquez sur ***Next***.

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

14. Saisissez un sous-domaine unique.
15. Choisissez ***HTTPS*** comme ***Type***. Lorsque vous utilisez un certificat auto-signé ou un certificat d'une AC interne pour Devolutions Gateway, activez l'option No TLS Verify sous ***Additional application settings*** – ***TLS***.

{% hint style="info" %}
Utilisez localhost:7171 comme URL si la configuration de gateway par défaut a été utilisée.
{% endhint %}

{% hint style="warning" %}
Laissez la connexion HTTP2 désactivée pour l'entrée HTTPS. Devolutions Gateway utilise WebSocket, et HTTP/2 vers l'origine peut interrompre les mises à niveau WebSocket.
{% endhint %}

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

16. Cliquez sur **Complete setup.**
17. Cliquez sur le ***Tunnel name*** nouvellement créé.

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

18. Cliquez sur ***Published application routes***, puis sur ***Add a published application route***.

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

19. Saisissez un sous-domaine unique (différent de celui de l'étape 14).
20. Choisissez ***TCP*** comme ***Type***. Saisissez [`localhost:8181`](http://localhost:8181) si vous utilisez le port par défaut.

{% hint style="warning" %}
Cloudflare ne termine pas le TLS sur le chemin TCP, et il n'y a pas de paramètre TLS Verify pour le TCP. La validation TLS se fait de bout en bout entre le client RDM et Devolutions Gateway via le pont local cloudflared access tcp.
{% endhint %}

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

Une fois terminé, il devrait y avoir deux noms d'hôte publics.

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

## **Récupérer la clé de provisionnement**

Le fichier de clé publique DVLS doit être accessible au serveur qui héberge Devolutions Gateway, lequel se trouve derrière le tunnel Cloudflare.

1. Connectez-vous à l'instance Devolutions Server ou Devolutions Cloud en tant qu'utilisateur ayant accès à la configuration de Devolutions Gateway.
2. Allez à ***Administration*** — ***Devolutions Gateway***.
3. Cliquez sur le bouton ***Plus*** et sélectionnez ***Télécharger la clé publique***.

## **Installer Devolutions Gateway avec Cloudflare**

1. Ouvrez une connexion au serveur hébergeant Devolutions Gateway et téléchargez l'[installateur](https://devolutions.net/gateway/).
2. Exécutez l'installateur.
3. Cliquez sur ***Next***.

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

4. Une fois le chemin d'installation souhaité sélectionné, cliquez sur le bouton ***Next***.

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

5. Cliquez sur ***Next***.

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

6. Cliquez sur ***Next*** dans la fenêtre ***Listeners***.

{% hint style="warning" %}
Il est conseillé de laisser les écouteurs par défaut en place, car ils correspondront probablement à la configuration du tunnel Cloudflare.
{% endhint %}

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

7. Saisissez l'URI externe par lequel le gateway sera joignable.
8. Cliquez sur ***Next***.

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

9. Spécifiez le chemin vers les certificats TLS ou vers l'emplacement du magasin de certificats du système.

{% hint style="warning" %}
Le certificat de la gateway doit inclure tous les noms qu'un client TLS valide. Pour le modèle de pont TCP Cloudflare, le client se connecte à `localhost:<port>,` alors localhost doit se trouver dans le SAN du certificat, en plus du FQDN interne de la gateway. Les noms d'hôte publics du tunnel Cloudflare n'ont habituellement pas besoin de figurer dans le certificat de la gateway.
{% endhint %}

10. Cliquez sur ***Next***.

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

11. Spécifiez le chemin vers la clé publique récupérée précédemment depuis Devolutions Server ou Devolutions Cloud.

{% hint style="info" %}
Ce fichier de clé doit être accessible au compte NetworkService sous lequel Devolutions Gateway s'exécute.
{% endhint %}

12. Cliquez sur ***Next***.

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

13. Cliquez sur ***Install***.

## **Lancer le client Cloudflared sur l'hôte Remote Desktop Manager**

Le client Cloudflared doit être [téléchargé](https://github.com/cloudflare/cloudflared/releases) et lancé pour tunneliser correctement la connexion. Ce client créera une connexion de tunnel Cloudflare sortante depuis n'importe quel client Remote Desktop Manager local vers le tunnel Cloudflare se connectant à Devolutions Gateway.

Le code suivant doit être exécuté dans une fenêtre de terminal aussi longtemps que le tunnel doit rester ouvert, et chaque fois qu'un gateway sera accédé derrière un tunnel Cloudflare. L'exécutable client à lancer est `cloudflared.exe` (bien qu'il puisse être nécessaire de renommer la version téléchargée). Utilisez ici le même port local que le port d'écoute TCP configuré dans Devolutions Server ou Hub Business.

{% hint style="info" %}
Ici, nous le démontrons en utilisant le port `8182`. Si vous prévoyez ne jamais exécuter RDM sur le même serveur que le service Gateway, vous pourriez utiliser `8181`, sinon vous obtiendriez un conflit de port. Une façon de l'éviter est d'utiliser un port différent, comme ici.
{% endhint %}

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

Le logiciel client se connecte à `localhost:8182`, et non à `gateway-client-tcp.mydomain.com:8181`. Comme le client TLS valide le certificat du gateway par rapport à `localhost`, le certificat du gateway doit inclure `localhost` dans son SAN. Si ce n'est pas le cas, le journal du gateway peut afficher `received fatal alert: CertificateUnknown`.

Pour éviter d'exécuter le code chaque fois, créez un service :

1. Lancez une session PowerShell élevée.
2. Saisissez ce code pour créer un nouveau service 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. Démarrez le service.

Le tunnel s'exécute maintenant en permanence du côté client.

## **Configurer Devolutions Server**

1. Connectez-vous à une instance Devolutions Server en tant qu'utilisateur ayant accès à la configuration de Devolutions Gateway.
2. Allez à ***Administration*** — ***Devolutions Gateway***.
3. Cliquez sur le bouton ***Ajouter*** (***+***) et choisissez ***Gateway***.

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

4. Saisissez les détails précédemment récupérés de Cloudflare utilisés pour configurer Devolutions Gateway.

Il peut être nécessaire de faire précéder le domaine du tunnel Cloudflare de `https://`. La ***détection automatique*** ne fonctionnera que si le nom d'hôte HTTPS est joignable via Cloudflare.

{% hint style="info" %}
Définissez l'URL du Gateway au nom d'hôte du tunnel HTTPS, par exemple, <https://gateway.mydomain.com>. Définissez le nom d'hôte TCP à localhost, et non au nom d'hôte public du tunnel TCP. Définissez le port d'écoute TCP au même port local que celui utilisé par le pont client, par exemple 8182.
{% endhint %}

{% hint style="warning" %}
Assurez-vous de ne pas utiliser le port TCP à la fin de l'URL du Gateway. L'URL du Gateway utilise le nom d'hôte HTTPS Cloudflare sur le port 443; le port TCP est configuré séparément comme port d'écoute TCP.
{% endhint %}

5. Cliquez sur ***Enregistrer***.

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

6. Cliquez sur le bouton des points de suspension (***Plus***) à côté du gateway nouvellement configuré et sélectionnez ***Publier la liste de révocation***.
7. Si l'option ***Publier la configuration du Gateway*** est disponible, elle devrait être effectuée avant ***Publier la liste de révocation***.

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

## **Configurer Devolutions Cloud**

1. Connectez-vous à une instance Devolutions Cloud en tant qu'utilisateur ayant accès à la configuration de Devolutions Gateway.
2. Allez à ***Administration*** — ***Devolutions Gateway***.
3. Cliquez sur le bouton ***Ajouter*** (***+***).
4. Saisissez les détails précédemment récupérés de Cloudflare utilisés pour configurer Devolutions Gateway.

Il peut être nécessaire de faire précéder le domaine du tunnel Cloudflare de https\://. La ***détection automatique*** ne fonctionnera que si le nom d'hôte HTTPS est joignable via Cloudflare.

{% hint style="info" %}
Définissez l'URL du Gateway au nom d'hôte du tunnel HTTPS, par exemple, <https://gateway.mydomain.com>. Définissez le nom d'hôte TCP à localhost, et non au nom d'hôte public du tunnel TCP. Définissez le port d'écoute TCP au même port local que celui utilisé par le pont client, par exemple 8182.
{% endhint %}

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

5. Parcourez toute combinaison des onglets ***Coffres***, ***Groupes,*** ou ***Utilisateurs*** pour décider comment les licences seront distribuées.
6. Cliquez sur ***Ajouter***.
7. Cliquez sur le bouton des points de suspension (***Plus***) à côté du gateway nouvellement configuré et sélectionnez ***Publier la configuration du Gateway***.

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

## **Notes de dépannage**

* `received fatal alert: CertificateUnknown` Dans le journal du gateway, cela signifie habituellement qu'un client TLS a rejeté le certificat du gateway en raison d'une non-correspondance de SAN ou de nom. Dans cette configuration, cela signifie souvent que le nom d'hôte TCP est `localhost` mais que `localhost` est absent du SAN du certificat du gateway.
* Un diagnostic rouge **Configuration du nom d'hôte d'écoute TCP** indique habituellement que DVLS ne peut pas joindre le TCP brut sur le nom d'hôte configuré. S'il pointe vers le FQDN public du tunnel, changez-le pour `localhost` et assurez-vous que le pont local `cloudflared access tcp` est en cours d'exécution.
* **Certificate could not be verified** avec des champs vides, suivi de `Cannot read properties of null (reading 'thumbprint')`, signifie habituellement que la détection de la gateway n'a retourné aucun certificat parce que le tunnel ou la gateway était inaccessible. Corrigez d'abord l'accessibilité.
* L'erreur Cloudflare 1033 signifie que Cloudflare ne peut pas résoudre le tunnel. Confirmez que le démon `cloudflared` d'origine est en cours d'exécution et que le statut du tunnel est **Connected**.


---

# 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/fr/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.
