# Asennus Wranglerin (CLI) kautta

### Edellytykset

Netacea-integraation onnistuneeseen toteutukseen varmista, että sinulla on:

1. Asennettuna uusin [Wrangler V2](https://developers.cloudflare.com/workers/wrangler/migration/v1-to-v2/update-v1-to-v2/), [Node.js](https://nodejs.org/en) (versio 16.13.0 tai uudempi) ja [Git ](https://git-scm.com/)koneellasi.
2. Aktiivinen Cloudflare-tili, jolla on pääsy Cloudflare Dashboardiin.
3. "Maksullinen" Cloudflare-tilaus, jotta vältytään worker-pyyntörajoituksiin liittyviltä ongelmilta jne.
4. Pääsy Cloudflare Workers -tuotteeseen.

### **Toteutusvaiheet**

Yksityiskohtaiset GitHub-ohjeet koodin hakemiseen, konfigurointiin ja Netacea Cloudflare -lisäosan käyttöönottoon löytyvät [täältä](https://github.com/Netacea/cloudflare-worker-template-typescript).

### Luo paikallinen worker <a href="#edit-worker" id="edit-worker"></a>

Avaa Windowsin komentokehote/PowerShell ja siirry hakemistoon, johon voit tallentaa Netacea-koodin.

Suorita kyseisessä hakemistossa seuraava komento

{% code overflow="wrap" %}

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

{% endcode %}

Tämä käyttää wrangleria luomaan (generoimaan) uuden paikallisen worker-paketin hakemalla uusimman Netacea GitHub -koodin.

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

Voit varmistaa tämän käymällä yllä mainitussa hakemistossa ja näkemällä workerin seuraavassa muodossa:

<div align="left"><figure><img src="https://656092103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFxg3BbZHtg5d2d1nmEzK%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>

### Konfiguroi worker

Avaa src-hakemisto ja muokkaa `NetaceaConfig.json`-tiedostoa vastaamaan alla olevaa:

```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
  }
```

Korvaa arvot Netaecalta saamillasi tiedoilla ja **tallenna** tiedosto.

{% hint style="info" %}
Attribuuttia `mitigationType` käytetään integraation tilan määrittämiseen. Se voi olla yksi kolmesta arvosta:

* "**INGEST**" - Tämä integraatiotila on vain seurantaa varten, mikä tarkoittaa, että mitään torjuntatoimia ei suoriteta. Tätä suositellaan POC-vaiheen aikana.
* "**MITIGATE**" - Tämä on "normaali" integraatiotila, mikä tarkoittaa, että Netacea-ratkaisu seuraa ja torjuu aktiivisesti pyyntöjä.
* "**INJECT**" - Tätä tilaa käytetään mukautetuissa ratkaisuissa, joissa Netaecan torjuntatoiminta on vain suositus pyyntöön lisättävien HTTP-otsikoiden avulla.
  {% endhint %}

{% hint style="info" %}
Evästeen ja captcha-nimen tulee olla yksilöllisiä.

**Lisäturvallisuuden vuoksi älä sisällytä tähän nimeen sanaa Netacea tai Mitigation.**
{% endhint %}

{% hint style="danger" %}
Muuttujia cookieEncryptionKey, netaceaCookieName ja netaceaCaptchaCookieName käytetään turvallisuuden parantamiseen piilottamalla Netaecan oletusevästenimet ja -arvot julkiselta näkyvyydeltä.
{% endhint %}

### Konfiguroi Wrangler

Siirry workerin juurihakemistoon ja muokkaa `wrangler.toml`-tiedostoa:

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

account_id = "EXAMPLE_ACCOUNT_ID"
route = "EXAMPLE_ROUTE"

compatibility_date = "2023-05-04"

[observability]
enabled = true

```

Korvaa arvot asianmukaisilla tiedoilla ja kun olet valmis, **tallenna** tiedosto.

{% hint style="info" %}
[Account ID](https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/#find-zone-and-account-ids) löytyy Cloudflare Dashboardistasi.

[Route ](https://developers.cloudflare.com/workers/platform/triggers/routes/)viittaa polkuun, johon worker tulisi soveltaa, esim. "[www.example.com/\*](http://www.example.com/*)", ja sitä voidaan muokata käyttöönoton jälkeen.
{% endhint %}

{% hint style="info" %}
**Automaattinen tallennus** -vaihtoehdon käyttöönotto konfiguraatioita muutettaessa olisi hyödyllistä.
{% endhint %}

### Asenna/päivitä npm

Suorita workerin juurihakemistossa seuraavat kaksi komentoa varmistaaksesi, että kaikki tarvittavat node-moduulit on asennettu/päivitetty

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

```
npm install
```

### Ota worker käyttöön Cloudflaressa

Suorita seuraava komento:

```
npm run deploy
```

Tämä saattaa kehottaa sinua kirjautumaan Cloudflareen selaimen kautta ja sallimaan pääsyn wranglerille. Jos näin tapahtuu, kirjaudu sisään ja salli pääsy.

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

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

{% hint style="info" %}
Voit käyttää yllä olevaa komentoa saman workerin uudelleenkäyttöönottoon sen päivittämiseksi (esim. konfiguraatio-ominaisuuksien muuttaminen). Viimeisin käyttöönotto tulee oletuksena aktiiviseksi.
{% endhint %}

### Vahvista käyttöönotto

Kirjaudu Cloudflareen, avaa dashboard, valitse verkkotunnus, jossa haluat workerin toimivan, ja valitse lopuksi valikosta "Workers Routes". Sinun tulisi nähdä juuri käyttöönotettu worker yhdistettynä `wrangler.toml`-tiedoston reittiin.

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

{% hint style="info" %}
Voit tehdä muutoksia workeriin, reittiin, ympäristöön ja muuhun klikkaamalla **Muokkaa** ilman, että workeria tarvitsee ottaa uudelleen käyttöön wranglerin kautta.
{% endhint %}

Kunkin workerin käyttöönotot näkyvät klikkaamalla Workeria (esim. test-netacea-worker) ja valitsemalla Deployment's-välilehden:

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

Jokaisesta workerista voit nähdä erilaisia metriikoita, liitetyt reitit ja mahdollisuuden palata aiempaan käyttöönottoon.
