# Installation über Wrangler (CLI)

### Voraussetzungen

Für eine erfolgreiche Integration mit Netacea stellen Sie bitte sicher, dass Sie:

1. Die neueste Version von [Wrangler V2](https://developers.cloudflare.com/workers/wrangler/migration/v1-to-v2/update-v1-to-v2/), [Node.js](https://nodejs.org/en) (Version 16.13.0 oder höher) und [Git ](https://git-scm.com/)auf Ihrem Rechner installiert haben.
2. Ein aktives Cloudflare-Konto mit Zugriff auf das Cloudflare Dashboard haben.
3. Ein „Paid"-Cloudflare-Abonnement haben, um Probleme mit Worker-Anfragelimits usw. zu vermeiden.
4. Zugriff auf das Cloudflare Workers-Produkt haben.

### **Implementierungsschritte**

Die detaillierten GitHub-Anweisungen zum Abrufen des Codes, zur Konfiguration und Bereitstellung des Netacea Cloudflare-Plugins finden Sie [hier](https://github.com/Netacea/cloudflare-worker-template-typescript).

### Lokalen Worker erstellen <a href="#edit-worker" id="edit-worker"></a>

Öffnen Sie die Windows-Eingabeaufforderung/PowerShell und navigieren Sie zu einem Verzeichnis, in dem Sie den Netacea-Code speichern können.

Führen Sie in diesem Verzeichnis den folgenden Befehl aus

{% code overflow="wrap" %}

```
wrangler generate netacea-cloudflare-worker https://github.com/netacea/cloudflare-worker-template-typescript
```

{% endcode %}

Dies verwendet Wrangler, um ein neues lokales Worker-Bundle zu erstellen (generieren), indem der neueste Netacea-GitHub-Code abgerufen wird.

<figure><img src="https://1167149896-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6PpNBgdOJ87TpWxJ29CQ%2Fuploads%2Fgit-blob-eb5d13d51998c5b3a6052838c34b1e07d9b3143c%2Fimage%20(71).png?alt=media" alt=""><figcaption></figcaption></figure>

Sie können dies überprüfen, indem Sie das obige Verzeichnis aufrufen und den Worker im folgenden Format sehen:

<div align="left"><figure><img src="https://1167149896-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6PpNBgdOJ87TpWxJ29CQ%2Fuploads%2Fgit-blob-4943f944ca9f4a61987a04f3c3f5aedc6609b48b%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### Worker konfigurieren

Öffnen Sie das src-Verzeichnis und bearbeiten Sie die Datei `NetaceaConfig.json` entsprechend dem Folgenden:

```json
{
    "apiKey": "API-KEY-PROVIDED-BY-NETACEA",
    "secretKey": "SECRET-KEY-PROVIDED-BY-NETACEA",
    "mitigationType": "PREFERRED-MITIGATION-TYPE",
    "ingestType": "KINESIS",
    "kinesis": {
      "kinesisStreamName": "NAME-PROVIDED-BY-NETACEA",
      "kinesisAccessKey": "KEY-PROVIDED-BY-NETACEA",
      "kinesisSecretKey": "KEY-PROVIDED-BY-NETACEA"
    },
    "cookieEncryptionKey": "ENCRYPTION-KEY-PROVIDED-BY-NETACEA",
    "netaceaCookieName": "_cookieName",
    "netaceaCaptchaCookieName": "_captchaCookieName",
    "enableDynamicCaptchaContentType": false,
    "timeout": 3000
  }
```

Ersetzen Sie die Werte durch die Ihnen von Netacea bereitgestellten Details und **speichern** Sie die Datei.

{% hint style="info" %}
Das Attribut `mitigationType` wird verwendet, um den Modus der Integration zu bestimmen. Dies kann einer von drei Werten sein:

* "**INGEST**" - Dieser Integrationsmodus ist nur zur Überwachung, d. h. es werden keine Mitigationsmaßnahmen ausgeführt. Dies wird während POCs empfohlen.
* "**MITIGATE**" - Dies ist der „normale" Integrationsmodus, d. h. die Netacea-Lösung wird Anfragen überwachen und aktiv mitigieren.
* "**INJECT**" - Dieser Modus wird in kundenspezifischen Lösungen verwendet, bei denen die Mitigationsmaßnahme durch Netacea nur eine Empfehlung ist, die über HTTP-Header zur Anfrage hinzugefügt wird.
  {% endhint %}

{% hint style="info" %}
Der Cookie- und Captcha-Name sollte eindeutig sein.

**Aus Sicherheitsgründen sollten Sie Netacea oder Mitigation nicht in diesem Namen verwenden.**
{% endhint %}

{% hint style="danger" %}
Die Variablen cookieEncryptionKey, netaceaCookieName und netaceaCaptchaCookieName werden verwendet, um die Sicherheit zu erhöhen, indem Netaceas Standard-Cookie-Namen und -Werte vor der Öffentlichkeit verborgen werden.
{% endhint %}

### Wrangler konfigurieren

Navigieren Sie zum Stammverzeichnis des Workers und bearbeiten Sie die Datei `wrangler.toml`:

```json
name = "netacea-worker"
main = "./dist/worker.js"

account_id = "EXAMPLE_ACCOUNT_ID"
route = "EXAMPLE_ROUTE"

compatibility_date = "2023-05-04"

[observability]
enabled = true

```

Ersetzen Sie die Werte durch die entsprechenden Details und **speichern** Sie die Datei, sobald Sie fertig sind.

{% hint style="info" %}
Die [Account ID](https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/#find-zone-and-account-ids) finden Sie in Ihrem Cloudflare Dashboard.

Die [Route ](https://developers.cloudflare.com/workers/platform/triggers/routes/)bezieht sich auf den Pfad, auf den der Worker angewendet werden soll, z. B. „[www.example.com/\*](http://www.example.com/*)", und kann nach der Bereitstellung bearbeitet werden.
{% endhint %}

{% hint style="info" %}
Das Aktivieren der Option **Automatisch speichern** während der Konfigurationsänderungen wäre hilfreich.
{% endhint %}

### npm installieren/aktualisieren

Führen Sie im Stammverzeichnis des Workers die folgenden beiden Befehle aus, um sicherzustellen, dass alle erforderlichen Node-Module installiert/aktualisiert sind

```powershell
npm i @netacea/cloudflare@latest
```

```
npm install
```

### Worker bei Cloudflare bereitstellen

Führen Sie den folgenden Befehl aus:

```
npm run deploy
```

Möglicherweise werden Sie aufgefordert, sich über Ihren Browser bei Cloudflare anzumelden und Wrangler Zugriff zu gewähren. Melden Sie sich in diesem Fall an und gewähren Sie den Zugriff.

<div align="left"><figure><img src="https://1167149896-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6PpNBgdOJ87TpWxJ29CQ%2Fuploads%2Fgit-blob-0386aac934dd8f1a966969128cd868201699fd19%2Fimage%20(7)%20(7).png?alt=media" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://1167149896-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6PpNBgdOJ87TpWxJ29CQ%2Fuploads%2Fgit-blob-f6c9f60eb7705f1773cd6c09056c6d3de2e62e68%2Fimage%20(2)%20(9).png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Sie können den obigen Befehl verwenden, um denselben Worker erneut bereitzustellen, um ihn zu aktualisieren (z. B. Ändern der Konfigurationseigenschaften). Die letzte Bereitstellung wird standardmäßig aktiv.
{% endhint %}

### Bereitstellung bestätigen

Melden Sie sich bei Cloudflare an, öffnen Sie das Dashboard, wählen Sie die Domain aus, auf der der Worker arbeiten soll, und wählen Sie schließlich „Workers Routes" aus dem Menü. Sie sollten den neu bereitgestellten Worker sehen können, der mit der Route aus der Datei `wrangler.toml` verknüpft ist.

<figure><img src="https://1167149896-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6PpNBgdOJ87TpWxJ29CQ%2Fuploads%2Fgit-blob-12cb6d8d73e49f99772f9729b3666f42c80f9b6c%2FScreenshot%202024-12-13%20125030.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Sie können Änderungen am Worker, an der Route, der Umgebung und mehr vornehmen, indem Sie auf **Bearbeiten** klicken, ohne den Worker über Wrangler erneut bereitstellen zu müssen.
{% endhint %}

Bereitstellungen jedes Workers können angezeigt werden, indem Sie auf den Worker (z. B. test-netacea-worker) klicken und die Registerkarte „Deployments" auswählen:

<figure><img src="https://1167149896-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6PpNBgdOJ87TpWxJ29CQ%2Fuploads%2Fgit-blob-33ad1be8eccc8e959a613deea8c4cfba5f42a6fa%2FScreenshot%202024-12-13%20124156%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Für jeden Worker können Sie verschiedene Metriken einsehen, die zugehörigen Routen sehen und haben die Möglichkeit, zu einer früheren Bereitstellung zurückzukehren.


---

# Agent Instructions: 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:

```
GET https://docs.netacea.com/de/netacea-plugin-informationen/cloudflare/installation-and-configuration/installation-via-wrangler-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
