> For the complete documentation index, see [llms.txt](https://docs-epc.gitbook.io/ncs-documents/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-epc.gitbook.io/ncs-documents/load-balancing/load-balancer/using-application-load-balancing/managing-forwarding-policies.md).

# Managing Forwarding Policies

บน Listerner ที่ใช้ Protocol เป็น HTTP หรือ HTTPS จะสามารถใช้งาน Forwarding Policy เพื่อใช้ในการควบคุม Backend ของ Load ได้ มากกว่าแค่ส่ง Load ทั้งหมดไปที่ Backend Group เดียว

## Prerequisite

* มียอดคงเหลือใน Project มากกว่า 0 บาท ([ขั้นตอนการเติมเงินเข้าสู่ Project](/ncs-documents/nipa-cloud-space-overview/billing-and-wallet/topup-a-project-wallet.md))
* มี Application Listener (Listener ที่ใช้ Protocol HTTP หรือ HTTPS)

## Instructions

### 1. เข้าสู่หน้าจัดการ Listener

ในหน้า Load Balancer Detail ที่ tab Listener จะแสดงรายการ Listener ทั้งหมดใน Load Balancer นั้นๆ&#x20;

<figure><img src="/files/xgcwEx4pqmkmZR60Kd8X" alt=""><figcaption></figcaption></figure>

### 2. เข้าสู่หน้า Create Policy

ที่ Application Listener (Listener ที่ใช้ Protocol HTTP หรือ HTTPS) ที่ต้องการ เข้าสู่หน้าสร้าง Forwarding Policy ได้โดยกดปุ่ม CREATE POLICY

<figure><img src="/files/HMv9fCSkAAvSzRzoDzTk" alt=""><figcaption></figcaption></figure>

### 3. ตั้งค่า Forwarding Policy

ตั้งค่า **Forwarding Policy** ที่ต้องการ โดยแบ่งเป็น

* **Policy Name**: ชื่อของ Forwarding Policy&#x20;
* **If (Rules)**: สามารถมีได้หลาย Rule สำหรับ Backup ปลายทางหนึ่ง โดยแต่ละ Rule สามารถตั้งค่าได้ดังนี้
  * ข้อมูลที่จะตรวจสอบ Rule ที่เลือกได้ 4 อย่างคือ Hostname, Path, Header, Cookie (Header และ Cookie จะต้องกำหนด Key ด้วย)
  * เงื่อนไขการตรวจสอบ ว่าจะเป็นการตรวจสอบโดยตรง (is) หรือตรงข้าม (isn't)
  * รูปแบบการตรวจสอบ ที่เลือกได้จาก 5 อย่างคือ
    * **equal to**: มีค่าเท่ากับค่าเปรียบเทียบ
    * **contain**: มีส่วนหนึ่งตรงกับค่าเปรียบเทียบ
    * **start with**: เริ่มต้นด้วยค่าเปรียบเทียบ
    * **end with**: ลงท้ายด้วยค่าเปรียบเทียบ
    * **competible with RegEx**: ตรวจสอบจาก RegEx
  * ค่าเปรียนเทียบตรวจสอบ โดยหากเลือกรูปแบบการตรวจสอบเป็น "**competible with RegEx**" ค่านี้จะต้องเป็น [RegEx](https://en.wikipedia.org/wiki/Regular_expression)&#x20;
* Then: หาก Load ที่เข้ามาตรงตาม **If (Rules)** จะ Forward Load ไป โดยเลือกได้ 4 อย่างคือ
  * **redirect to backend group**: Forward Load ไปที่ Backend Group ที่สร้างไว้
  * **redirect to URL**: Forward Load ไปที่ URL ที่เลือก
  * **redirect to prefix**: Forward Load ไปที่ URL เดิม แต่เปลี่ยน Prefix ตามที่เลือก
  * **reject**: Reject Request นั้น

<figure><img src="/files/WaifCFyyYg3RZHodiEKI" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Load จะต้องผ่านทุกๆ If (Rules) ถึงจะถูก Forward Load ตาม Forwarding Policy
{% endhint %}

{% hint style="warning" %}
Load จะถูก Forward แค่ครั้งเดียว ดังนั้นหาก Load ผ่าน If (Rules) ของหลาย Forwarding Policy จะมีการ Forward จริงแค่ Policy แรกเท่านั้น
{% endhint %}
