คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
วิดีโอ
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด 503 ได้ในวิดีโอต่อไปนี้
| วิดีโอ | คำอธิบาย |
|---|---|
| แก้ไขปัญหาและแก้ข้อผิดพลาด 503 ไม่พร้อมให้บริการ - NoActiveTargets | ดูข้อมูลเกี่ยวกับสิ่งต่อไปนี้
|
ลักษณะปัญหา
แอปพลิเคชันไคลเอ็นต์ได้รับรหัสสถานะการตอบกลับ HTTP 503 พร้อม ข้อความ ไม่พร้อมให้บริการ และรหัสข้อผิดพลาด NoActiveTargets สำหรับคำขอพร็อกซี API
ข้อความแสดงข้อผิดพลาด
คุณจะเห็นการตอบกลับข้อผิดพลาดต่อไปนี้
HTTP/1.1 503 Service Unavailable
คุณจะเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้ในการตอบกลับ HTTP
{
"fault": {
"faultstring": "The Service is temporarily unavailable",
"detail": {
"errorcode": "messaging.adaptors.http.flow.NoActiveTargets"
}
}
}
สาเหตุที่เป็นไปได้
โดยปกติแล้ว คุณจะเห็นการตอบกลับ HTTP 503 ไม่พร้อมให้บริการ พร้อมรหัสข้อผิดพลาด NoActiveTargets เมื่อใช้เซิร์ฟเวอร์เป้าหมายอย่างน้อย 1 รายการในการกำหนดค่าปลายทางเป้าหมายในพร็อกซี API
ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของการตอบกลับ 503 ไม่พร้อมให้บริการ พร้อมรหัสข้อผิดพลาด NoActiveTargets
| สาเหตุ | คำอธิบาย | ผู้ที่สามารถทำตามขั้นตอนการแก้ปัญหา |
|---|---|---|
| เซิร์ฟเวอร์เป้าหมายปิดใช้อยู่ | เซิร์ฟเวอร์เป้าหมายที่ระบุในการกำหนดค่าปลายทางเป้าหมายปิดใช้อยู่ | ผู้ใช้ Edge Public และ Private Cloud |
| ข้อผิดพลาดในการเชื่อมต่อเนื่องจากการแปลง DNS ไม่ถูกต้อง | การแปลง DNS ของเซิร์ฟเวอร์เป้าหมายทำให้เกิดที่อยู่ IP ที่ไม่ถูกต้องซึ่งนำไปสู่ข้อผิดพลาดในการเชื่อมต่อ | ผู้ใช้ Edge Private Cloud |
| ข้อผิดพลาดในการเชื่อมต่อ | ปัญหาด้านเครือข่ายหรือการเชื่อมต่อทำให้ไคลเอ็นต์เชื่อมต่อกับเซิร์ฟเวอร์ไม่ได้ | ผู้ใช้ Edge Private Cloud |
| ชื่อแทนโฮสต์เป้าหมายไม่ถูกต้อง | โฮสต์เซิร์ฟเวอร์เป้าหมายที่ระบุไม่ถูกต้องหรือมีอักขระที่ไม่ต้องการ (เช่น ช่องว่าง) | ผู้ใช้ Edge Public และ Private Cloud |
| การเริ่มต้นการเชื่อมต่อ SSL ไม่สำเร็จ | การเริ่มต้นการเชื่อมต่อ TLS/SSL ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ไม่สำเร็จ | ผู้ใช้ Edge Public และ Private Cloud |
| การตรวจสอบประสิทธิภาพการทำงานไม่สำเร็จ | การตรวจสอบประสิทธิภาพการทำงานที่กำหนดค่าไว้เพื่อตรวจสอบประสิทธิภาพการทำงานของเซิร์ฟเวอร์เป้าหมายอาจไม่สำเร็จเนื่องจากสาเหตุบางประการ | ผู้ใช้ Edge Private Cloud |
สาเหตุ: เซิร์ฟเวอร์เป้าหมายปิดใช้อยู่
หากเซิร์ฟเวอร์เป้าหมายทั้งหมดที่ระบุในการกำหนดค่าปลายทางเป้าหมายปิดใช้อยู่ คุณจะได้รับ การตอบกลับ 503 ไม่พร้อมให้บริการ พร้อมรหัสข้อผิดพลาด NoActiveTargets.
การวินิจฉัย
- ระบุชื่อเซิร์ฟเวอร์เป้าหมายที่ใช้ในการกำหนดค่าปลายทางเป้าหมาย ที่เฉพาะเจาะจงของพร็อกซี API ที่ไม่สำเร็จโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- หากมีปลายทางเป้าหมายเดียว ให้ตรวจสอบปลายทางเป้าหมายนั้น
- หากมีปลายทางเป้าหมายหลายรายการและคุณไม่แน่ใจว่าปลายทางใดมีเซิร์ฟเวอร์เป้าหมายที่ปิดใช้อยู่ ให้ทำตามขั้นตอนด้านล่าง
- เปิดใช้เซสชันการติดตาม เรียก API และจำลองปัญหา - 503 ไม่พร้อมให้บริการ
- จากการติดตาม ให้ไปที่ Target Request Flow Started และระบุชื่อปลายทางเป้าหมายตามที่แสดงด้านล่าง
- เมื่อระบุปลายทางเป้าหมายแล้ว ให้รับชื่อเซิร์ฟเวอร์เป้าหมายที่ใช้จากการกำหนดค่าปลายทางเป้าหมายตามที่แสดงในตัวอย่างด้านล่าง
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>ในตัวอย่างด้านบน มีเซิร์ฟเวอร์เป้าหมายเดียวชื่อ demo-target
- รับคำจำกัดความของเซิร์ฟเวอร์เป้าหมายแต่ละรายการที่ใช้ในปลายทางเป้าหมายโดยใช้ UI ของ Edge หรือการเรียก API ของ Edge
UI ของ Edge
วิธีรับคำจำกัดความโดยใช้ UI ของ Edge
- ไปที่ผู้ดูแลระบบ > สภาพแวดล้อม > เซิร์ฟเวอร์เป้าหมาย
- เลือกสภาพแวดล้อมที่เฉพาะเจาะจงซึ่งคุณเห็นข้อผิดพลาด
- ค้นหาชื่อเซิร์ฟเวอร์เป้าหมายที่เฉพาะเจาะจงเพื่อรับคำจำกัดความของเซิร์ฟเวอร์เป้าหมาย
ตัวอย่างเช่น พิมพ์ชื่อเซิร์ฟเวอร์เป้าหมาย
demo-targetแล้วคุณจะเห็นคำจำกัดความตามที่แสดงด้านล่าง
โปรดทราบว่าเซิร์ฟเวอร์เป้าหมาย demo-target มีชื่อแทนโฮสต์ หมายเลขพอร์ต และเปิดใช้ SSL อย่างไรก็ตาม เซิร์ฟเวอร์เป้าหมายเองปิดใช้อยู่ ซึ่งระบุโดยองค์ประกอบ ENABLED ที่เป็นสีเทา
API ของ Edge
วิธีรับคำจำกัดความโดยใช้ API ของ Edge
ใช้ API รับ TargetServer เพื่อรับคำจำกัดความของเซิร์ฟเวอร์เป้าหมาย
เอาต์พุตคำจำกัดความของเซิร์ฟเวอร์เป้าหมาย
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>false</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>เอาต์พุต API ของ Apigee แสดงว่าเซิร์ฟเวอร์เป้าหมาย demo-target ปิดใช้อยู่ เนื่องจากองค์ประกอบ IsEnabled ตั้งค่าเป็น "เท็จ"
เนื่องจากเซิร์ฟเวอร์เป้าหมายปิดใช้อยู่ Message Processor จะส่ง 503 ไม่พร้อมให้บริการ พร้อมรหัสข้อผิดพลาด NoActiveTargets ทันทีเพื่อเป็นการตอบกลับไคลเอ็นต์

ความละเอียด
ตรวจสอบว่าเซิร์ฟเวอร์เป้าหมายที่เฉพาะเจาะจงซึ่งใช้ในการกำหนดค่าปลายทางเป้าหมายของพร็อกซี API เปิดใช้อยู่เสมอ
UI ของ Edge
- ไปที่ผู้ดูแลระบบ > สภาพแวดล้อม > เซิร์ฟเวอร์เป้าหมาย
- เลือกสภาพแวดล้อมที่เฉพาะเจาะจงซึ่งคุณเห็นข้อผิดพลาด
- ค้นหาชื่อเซิร์ฟเวอร์เป้าหมายที่เฉพาะเจาะจงเพื่อรับคำจำกัดความ
- เลือกเซิร์ฟเวอร์เป้าหมายที่เฉพาะเจาะจง แล้วคลิกแก้ไข
- เลือกช่องทำเครื่องหมายเปิดใช้
- คลิกอัปเดต
API ของ Edge
ใช้ API อัปเดตเซิร์ฟเวอร์เป้าหมาย เพื่ออัปเดตคำจำกัดความของเซิร์ฟเวอร์เป้าหมายและตรวจสอบว่า IsEnabled ตั้งค่าเป็น true ในเพย์โหลดคำขอของ API ตามที่แสดงด้านล่าง:
<TargetServer name="demo-target">
<Host>demo-target.apigee.net</Host>
<Port>443</Port>
<IsEnabled>true</IsEnabled>
<SSLInfo>
<Enabled>true</Enabled>
</SSLInfo>
</TargetServer>
หากปัญหายังคงอยู่ ให้ไปที่ ข้อมูลการวินิจฉัยที่ต้องรวบรวม
วินิจฉัยปัญหาโดยใช้การตรวจสอบ API
การตรวจสอบ API ช่วยให้คุณแยกพื้นที่ที่มีปัญหา ได้อย่างรวดเร็วเพื่อวินิจฉัยข้อผิดพลาด ประสิทธิภาพการทำงาน และปัญหาเวลาในการตอบสนอง รวมถึงแหล่งที่มาของปัญหา เช่น แอปของนักพัฒนาแอป พร็อกซี API เป้าหมายแบ็กเอนด์ หรือแพลตฟอร์ม API
ทำตามสถานการณ์ตัวอย่าง
ที่แสดงวิธีแก้ปัญหา 5xx กับ API โดยใช้การตรวจสอบ API ตัวอย่างเช่น
คุณอาจต้องการตั้งค่าการแจ้งเตือนให้คุณได้รับแจ้งเมื่อจำนวนข้อผิดพลาด messaging.adaptors.http.flow.NoActiveTargets
เกินเกณฑ์ที่กำหนด
ข้อมูลการวินิจฉัยที่ต้องรวบรวม
หากปัญหายังคงอยู่แม้หลังจากทำตามวิธีการข้างต้นแล้ว โปรดรวบรวมข้อมูลการวินิจฉัยต่อไปนี้ ติดต่อและแชร์ข้อมูลดังกล่าวกับทีมสนับสนุนของ Apigee
- หากคุณเป็นผู้ใช้ Public Cloud โปรดระบุข้อมูลต่อไปนี้
- ชื่อองค์กร
- ชื่อสภาพแวดล้อม
- ชื่อพร็อกซี API
- คำสั่ง curl ที่สมบูรณ์เพื่อจำลองข้อผิดพลาด
- ไฟล์การติดตามที่มีคำขอพร้อมข้อผิดพลาด 503 ไม่พร้อมให้บริการพร้อมรหัสข้อผิดพลาด NoActiveTargets
- หากคุณเป็นผู้ใช้ Private Cloud โปรดระบุข้อมูลต่อไปนี้
- ข้อความแสดงข้อผิดพลาดทั้งหมดที่พบ
- ชื่อสภาพแวดล้อม
- แพ็กเกจพร็อกซี API
- ไฟล์การติดตามที่มีคำขอพร้อมข้อผิดพลาด 503 ไม่พร้อมให้บริการพร้อมรหัสข้อผิดพลาด NoActiveTargets
- บันทึกการเข้าถึง NGINX
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log) - บันทึก Message Processor
(
/opt/apigee/var/log/edge-message-processor/logs/system.log)