مسیریابی سرور پروکسی را تنظیم کنید

این سند برای توسعه‌دهندگانی است که می‌خواهند تمام ترافیک برچسب‌گذاری سمت سرور را از طریق یک سرور پروکسی هدایت کنند.

قبل از اینکه شروع کنی

قبل از اینکه بتوانید مسیریابی پروکسی سرور را تنظیم کنید، مطمئن شوید که موارد زیر را دارید:

  • یک کانتینر سرور که روی Cloud Run یا از طریق راه‌اندازی دستی مستقر شده است.

  • یک سرور پروکسی مستقر شده که از درخواست‌های HTTP CONNECT پشتیبانی می‌کند.

  • امکان فهرست کردن ترافیک خروجی خاص از سرور پروکسی، به عنوان مثال، با استفاده از VPC ، فایروال یا لیست‌های کنترل دسترسی پروکسی (ACL).

پیکربندی مسیریابی پروکسی سرور

اجرای ابری

برای ارسال ترافیک به یک پروکسی برای استقرار Cloud Run:

  1. اجرای ابری را باز کنید
  2. نمونه‌ی Cloud Run مربوط به تگ‌گذاری سمت سرور خود را انتخاب کنید.
  3. کلیک ویرایش و استقرار نسخه جدید . صفحه استقرار نسخه باز می‌شود.
  4. در قسمت Container(s) ، کانتینر سرور خود را انتخاب کنید. یک صفحه جدید با تنظیمات کانتینر باز می‌شود.
  5. To expand the service configuration, select the Variables & Secrets tab. Click the Add Variable button and add the following environment variable:

    1. نام : HTTP_PROXY
    2. مقدار : آدرس اینترنتی (URI) سرور پروکسی (مثلاً https://proxy.example.com:3333 یا http://32.12.83.10 )
  6. روی انجام شد کلیک کنید.

  7. اصلاحات خود را تأیید کنید و روی «استقرار» کلیک کنید.

استقرار دستی

برای ارسال ترافیک به یک پروکسی برای استقرار دستی:

  1. یک متغیر محیطی تعریف کنید که برای ایمیج داکر قابل دسترسی باشد:

    1. نام : HTTP_PROXY
    2. مقدار : آدرس اینترنتی (URI) سرور پروکسی (مثلاً https://proxy.example.com یا http://32.12.83.10:1234 )
  2. ایمیج داکر خود را با متغیر محیطی جدید اجرا کنید.

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

نتیجه: پیاده‌سازی برچسب‌گذاری سمت سرور شما، تمام ترافیک خروجی را به نقطه پایانی پروکسی که در متغیر محیطی مشخص کرده‌اید، ارسال می‌کند.

تنظیمات سرور پروکسی را تأیید کنید

برای تأیید تنظیمات درخواست‌های پروکسی، هم Google Tag Manager و هم پیکربندی سرور پروکسی خود را بررسی کنید.

برای تأیید درخواست‌های پروکسی کانتینر سرور خود:

  1. باز کردن گوگل تگ منیجر

  2. کانتینر سرور خود را باز کنید.

  3. حالت پیش‌نمایش را باز کنید. در برگه درخواست‌ها :

    1. مطمئن شوید که مشتری شما درخواست دریافتی را ثبت می‌کند.
    2. مطمئن شوید که تگ‌ها و متغیرهای شما با موفقیت درخواست‌های HTTP خروجی را ارسال می‌کنند.
    3. برای بررسی اینکه آیا درخواست از طریق سرور پروکسی ارسال شده است یا خیر، روی یک درخواست HTTP کلیک کنید تا جزئیات درخواست HTTP را مشاهده کنید.

برای تأیید تنظیمات پروکسی خود:

  1. لاگ‌های شبکه و پروکسی سرور خود را بررسی کنید. حداقل باید درخواست‌های موفق به نقاط انتهایی زیر را مشاهده کنید:
  2. بررسی کنید که آیا درخواست‌هایی به سایر نقاط پایانی وجود دارد یا خیر.
  3. بسته به ویژگی‌های برچسب‌گذاری سمت سروری که استفاده می‌کنید، ممکن است درخواست‌هایی را که به سایر نقاط پایانی مانند www.google-analytics.com ، bigquery.googleapis.com یا نقاط پایانی شخص ثالث ارسال می‌شود، مشاهده کنید. هر نقطه پایانی دیگری را که برای تنظیمات برچسب‌گذاری شما مورد نیاز است، مجاز کنید.

اختیاری: اجازه دهید ترافیک خروجی از سرور پروکسی شما فهرست شود

اگر ترافیک خروجی از شبکه یا سرور پروکسی خود را مسدود می‌کنید، باید دامنه‌های Google Tag Manager را برای کار کردن نمونه سرور برچسب‌گذاری خود، به لیست مجاز اضافه کنید. نحوه مجاز کردن ترافیک خروجی به محیط شبکه و نرم‌افزار پروکسی شما بستگی دارد. قبل از شروع به مجاز کردن نقاط پایانی، مطمئن شوید که توپولوژی شبکه خود را درک می‌کنید.

دامنه‌های زیر برای دریافت، پیش‌نمایش و اشکال‌زدایی کانتینر گوگل تگ منیجر شما استفاده می‌شوند:

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

اگر سرور Preview خود را در شبکه‌ای متفاوت از سرور پروکسی خود میزبانی می‌کنید یا قوانین شبکه‌ی محدودکننده‌ای دارید، ترافیک خروجی از پروکسی به سرور Preview را در لیست مجاز قرار دهید. URL سرور Preview هنگام استقرار کانتینر سرور شما تعریف می‌شود.

اختیاری: از احراز هویت پایه (BASIC Authentication) با سرور پروکسی خود استفاده کنید

اگر سازمان شما نیاز به احراز هویت دارد، می‌توانید از احراز هویت BASIC با همه انواع سرورها استفاده کنید.

برای استفاده از احراز هویت پایه، اطلاعات کاربری (نام کاربری/رمز عبور) را به عنوان بخشی از URL سرور پروکسی در قالب زیر وارد کنید:

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

هر درخواست به پروکسی، نام کاربری و رمز عبور موجود در هدر Proxy-Authorization را به عنوان مقادیر Base64 تنظیم می‌کند.

If you use Cloud Run, store the proxy endpoint credentials in Secret Manager . Secret Manager gives Cloud Run access to the secret at startup time and resolves the value. Learn how to configure secrets in Cloud Run .

اختیاری: پروکسی را برای میزبان‌های خاص غیرفعال کنید

متغیر محیطی NO_PROXY به شما امکان می‌دهد فهرستی از نام‌های میزبان که با کاما از هم جدا شده‌اند و نمی‌توانند از طریق سرور پروکسی ارسال شوند را تعریف کنید.

برای مثال، با توجه به: NO_PROXY=example.com,169.254.169.254,diagnostics.example2.com:3131

کانتینر sGTM هیچ یک از درخواست‌های زیر را پروکسی نمی‌کند:

  • 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