Konfigurowanie routingu serwera proxy

Ten dokument jest przeznaczony dla deweloperów, którzy chcą kierować cały ruch tagowania po stronie serwera przez serwer proxy.

Zanim zaczniesz

Zanim skonfigurujesz routing serwera proxy, upewnij się, że masz:

  • kontener serwera wdrożony w Cloud Run lub skonfigurowany ręcznie;

  • wdrożony serwer proxy, który obsługuje HTTP CONNECT żądania;

  • możliwość dodania do listy dozwolonych określonego ruchu wychodzącego z serwera proxy, np. za pomocą VPC, zapory lub list kontroli dostępu (ACL) w serwerze proxy.

Konfigurowanie routingu serwera proxy

Cloud Run

Aby przekierować ruch do serwera proxy w przypadku wdrożeń w Cloud Run:

  1. Otwórz Cloud Run.
  2. Wybierz instancję Cloud Run tagowania po stronie serwera.
  3. Kliknij EDYTUJ I WDRAŻAJ NOWĄ WERSJĘ. Otworzy się ekran wdrażania wersji.
  4. W sekcji Kontenery wybierz kontener serwera. Otworzy się nowy ekran z ustawieniami kontenera.
  5. Aby rozwinąć konfigurację usługi, kliknij kartę Zmienne i obiekty tajne. Kliknij przycisk Dodaj zmienną i dodaj tę zmienną środowiskową:

    1. Nazwa: HTTP_PROXY
    2. Wartość: identyfikator URI serwera proxy (np. https://proxy.example.com:3333 lub http://32.12.83.10)
  6. Kliknij Gotowe.

  7. Potwierdź zmiany i kliknij Wdróż.

Wdrożenie ręczne

Aby przekierować ruch do serwera proxy w przypadku wdrożeń ręcznych:

  1. Zdefiniuj zmienną środowiskową dostępną dla obrazu Dockera:

    1. Nazwa: HTTP_PROXY
    2. Wartość: identyfikator URI serwera proxy (np. https://proxy.example.com lub http://32.12.83.10:1234)
  2. Uruchom obraz Dockera z nową zmienną środowiskową.

    docker run -p 8080:8080 \
    -e CONTAINER_CONFIG=CONTAINER_CONFIG \
    -e HTTP_PROXY=PROXY_URL \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

Wynik: wdrożenie tagowania po stronie serwera wysyła cały ruch wychodzący do punktu końcowego serwera proxy określonego w zmiennej środowiskowej.

Sprawdzanie konfiguracji serwera proxy

Aby sprawdzić konfigurację żądań serwera proxy, sprawdź zarówno Menedżera tagów Google, jak i konfigurację serwera proxy.

Aby sprawdzić, czy kontener serwera przekierowuje żądania przez serwer proxy:

  1. Otwórz Menedżera tagów Google.

  2. Otwórz kontener serwera.

  3. Otwórz tryb podglądu. Na karcie Żądania:

    1. Sprawdź, czy klient zgłasza żądanie przychodzące.
    2. Sprawdź, czy tagi i zmienne wysyłają wychodzące żądania HTTP.
    3. Aby sprawdzić, czy żądanie zostało wysłane przez serwer proxy, kliknij żądanie HTTP, aby wyświetlić szczegóły żądania HTTP.

Aby sprawdzić konfigurację serwera proxy:

  1. Sprawdź logi sieci i serwera proxy. Powinny się w nich znajdować co najmniej udane żądania do tych punktów końcowych:
  2. Sprawdź, czy są żądania do innych punktów końcowych.
  3. W zależności od używanych funkcji tagowania po stronie serwera możesz też zobaczyć żądania wysyłane do innych punktów końcowych, takich jak www.google-analytics.com, bigquery.googleapis.com, lub punkty końcowe innych firm. Dodaj do listy dozwolonych wszystkie inne punkty końcowe, które są potrzebne do konfiguracji tagowania.

Opcjonalnie: dodawanie do listy dozwolonych ruchu wychodzącego z serwera proxy

Jeśli blokujesz ruch wychodzący z sieci lub serwera proxy, musisz dodać do listy dozwolonych domeny Menedżera tagów Google, aby instancja serwera tagowania działała. Sposób dodawania ruchu wychodzącego do listy dozwolonych zależy od środowiska sieciowego i oprogramowania serwera proxy. Zanim zaczniesz dodawać punkty końcowe do listy dozwolonych, upewnij się, że rozumiesz topologię sieci.

Te domeny służą do pobierania, wyświetlania podglądu i debugowania kontenera Menedżera tagów Google:

  • https://www.googletagmanager.com
  • https://tagmanager.google.com
  • ${Preview server URL}

Jeśli serwer podglądu jest hostowany w innej sieci niż serwer proxy lub masz restrykcyjne reguły sieciowe, dodaj do listy dozwolonych ruch wychodzący z serwera proxy do serwera podglądu. Adres URL serwera podglądu jest definiowany podczas wdrażania kontenera serwera.

Opcjonalnie: używanie uwierzytelniania podstawowego na serwerze proxy

Jeśli Twoja organizacja wymaga uwierzytelniania, możesz używać uwierzytelniania podstawowego na wszystkich typach serwerów.

Aby używać uwierzytelniania podstawowego, dodaj dane logowania (nazwę użytkownika i hasło) jako część adresu URL serwera proxy w tym formacie:

HTTP_PROXY=http(s)://USER_NAME:PASSWORD@PROXY_URL

Każde żądanie do serwera proxy ustawia nazwę użytkownika i hasło w nagłówku Proxy-Authorization jako wartości Base64.

Jeśli używasz Cloud Run, przechowuj dane logowania do punktu końcowego serwera proxy w Secret Manager. Secret Manager zapewnia Cloud Run dostęp do obiektu tajnego podczas uruchamiania i rozwiązuje jego wartość. Dowiedz się, jak skonfigurować obiekty tajne w Cloud Run.

Opcjonalnie: wyłączanie serwera proxy w przypadku określonych hostów

Zmienna środowiskowa NO_PROXY umożliwia zdefiniowanie rozdzielonej przecinkami listy nazw hostów, których nie można wysyłać przez serwer proxy.

Na przykład: NO_PROXY=example.com,169.254.169.254,diagnostics.example2.com:3131

Kontener sGTM nie przekierowuje przez serwer proxy żadnego z tych żądań:

  • http://example.com, https://sub.example.com, https://other.example.com:123
  • http://169.254.169.254, https://169.254.169.254, http://169.254.169.254:123
  • http://diagonstics.example2.com:3131, https://diagonstics.example2.com:3131