# Konfiguracja zaawansowana

## Dostosowywanie wyzwalaczy integracji

W niektórych przypadkach może istnieć konieczność dostosowania, który ruch wyzwala integrację Netacea w ramach ruchu pojedynczej usługi Fastly.

Może to wynikać z różnych przyczyn, w tym:

* Na tej samej usłudze Fastly istnieje wiele domen, a Netacea chroni każdą domenę za pomocą oddzielnego zestawu modeli Datastream
* Na tej samej usłudze Fastly istnieje wiele domen, ale Netacea chroni tylko podzbiór tych domen
* Integracja Netacea musi być ograniczona do wyzwalania i ochrony ograniczonego zestawu ścieżek
* Integracja Netacea musi [zachowywać się inaczej](https://docs.netacea.com/pl/przeglad/integration-modes) w zależności od określonych kryteriów

Aby skonfigurować dostosowane wyzwalacze, wykonaj poniższe kroki.

{% hint style="warning" %}
Nie wykonuj tej konfiguracji bez omówienia kroków z zespołem Netacea
{% endhint %}

## Aktualizacja słownika Netacea

Zaktualizuj słownik Netacea skonfigurowany w ramach standardowego [Przewodnika instalacji i konfiguracji](https://docs.netacea.com/pl/informacje-o-wtyczce-netacea/fastly-magento/installation-and-configuration/..#create-an-empty-dictionary). Słownik musi zostać zaktualizowany, aby zawierał zmienne i wartości normalnie ustawiane w [Module Netacea](https://docs.netacea.com/pl/informacje-o-wtyczce-netacea/fastly-magento/installation-and-configuration/..#apply-customer-keys-to-the-module).

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

Pola modułu Netacea powinny być ustawione jako puste:

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

## Tworzenie i dostosowywanie recv\_configure.vcl

Na koniec należy utworzyć plik recv\_configure.vcl zawierający instrukcje warunkowe definiujące sposób wyzwalania integracji Netacea:

* Spowodowanie wyzwalania integracji dla podzbioru żądań kierowanych do usługi Fastly.
* Określenie, które poświadczenia Datastream są używane, gdy ruch wyzwala integrację w usłudze Fastly.

Przejdź do Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Custom VCL Snippets i kliknij „Create".

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

#### Selektywne wyzwalanie

Poniższy przykład spowoduje wyzwalanie integracji na ścieżkach żądań związanych z logowaniem.

<pre><code>set req.http.x-netacea:edge_config_key_prefix = "";
declare local var.should_run_netacea BOOL;

set var.should_run_netacea = false;

# Must enable Netacea on the following paths if using captcha:
if (!var.should_run_netacea) {
  if (req.url.path ~ "^/AtaVerifyCaptcha|^\/Mitigations\/") {
    set var.should_run_netacea = true;
  }
}

<strong>if (!var.should_run_netacea) {
</strong>  if (req.url.path ~ "\/.*\/(login)\/") {
    set var.should_run_netacea = true;
  }
}

if (var.should_run_netacea) {
  call netacea_check_req;
}
</code></pre>

#### Rozdzielanie wyzwalaczy

Poniższy przykład spowoduje, że integracja będzie używać różnych poświadczeń Datastream w zależności od domeny powiązanej z żądaniem.

```
declare local var.should_run_netacea BOOL;
set var.should_run_netacea = false;

# Must enable Netacea on the following paths if using captcha:
if (!var.should_run_netacea) {
  if (req.url.path ~ "^/AtaVerifyCaptcha|^\/Mitigations\/") {
    set var.should_run_netacea = true;
  }
}

#
if (!var.should_run_netacea) {
  if (req.http.host ~ "example.com") {
    set var.should_run_netacea = true;
    set req.http.x-netacea:edge_config_key_prefix = "dsA_";
  }
}

if (!var.should_run_netacea) {
  if (req.http.host ~ "example2.com") {
    set var.should_run_netacea = true;
    set req.http.x-netacea:edge_config_key_prefix = "dsB_";
  }
}

if (var.should_run_netacea) {
  call netacea_check_req;
}

```

## Aktualizacja przesyłania logów

Na koniec może być konieczna aktualizacja konfiguracji przesyłania zgodnie z wymaganiami określonymi przez zespół Netacea.
