คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ลักษณะปัญหา
แอปพลิเคชันไคลเอ็นต์ได้รับรหัสสถานะ HTTP 500 Internal Server Error ด้วย
รหัสข้อผิดพลาด protocol.http.BadFormData เป็นการตอบกลับสำหรับการเรียก API
ข้อความแสดงข้อผิดพลาด
แอปพลิเคชันไคลเอ็นต์ได้รับโค้ดตอบกลับต่อไปนี้
HTTP/1.1 500 Internal Server Error
นอกจากนี้ คุณอาจสังเกตเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้
{
"fault":{
"faultstring":"Bad Form Data",
"detail":{
"errorcode":"protocol.http.BadFormData"
}
}
}ข้อมูลฟอร์ม
ก่อนที่จะลงลึกรายละเอียดของการแก้ปัญหานี้ มาดูกันว่าข้อมูลในแบบฟอร์มคืออะไร
ข้อมูลแบบฟอร์มคือข้อมูลที่ผู้ใช้ระบุผ่านแบบฟอร์ม HTML ที่มีองค์ประกอบ เช่น ช่องป้อนข้อความ ปุ่ม หรือช่องทำเครื่องหมาย โดยทั่วไปแล้ว ข้อมูลฟอร์มจะส่งเป็นชุดของ คู่คีย์-ค่าเป็นส่วนหนึ่งของคำขอ HTTP หรือการตอบกลับ
การส่งข้อมูลแบบฟอร์ม
- ประเภทเนื้อหา: application/x-www-form-urlencoded
- หากข้อมูลในแบบฟอร์มมีขนาดเล็ก ระบบจะส่งข้อมูลเป็นคู่คีย์-ค่าพร้อมข้อมูลต่อไปนี้
- อักขระในคีย์ทั้งสองที่เข้ารหัสตามกฎที่อธิบายไว้ใน แบบฟอร์ม - ส่วนที่ 17.13.4.1
- ส่วนหัว
Content-Type: application/x-www-form-urlencoded
ตัวอย่างคำขอที่มีข้อมูลแบบฟอร์ม
curl https://HOSTALIAS/somepath -H "Content-Type: application/x-www-form-urlencoded" -d "username=abc@google.com&pasword=secret123"
- อักขระที่ไม่ใช่ตัวอักษรและตัวเลขคละกันทั้งในคีย์และค่า
เปอร์เซ็นต์ที่เข้ารหัส นั่นคือแสดงด้วยค่า 3 อักขระ
%HHประกอบด้วยเครื่องหมายเปอร์เซ็นต์ตามด้วยเลขฐานสิบหก 2 หลัก แทนรหัส ASCII ของอักขระที่ระบุ - ดังนั้น แม้ว่าจะอนุญาตให้ใช้เครื่องหมายเปอร์เซ็นต์ (
%) ในข้อมูลแบบฟอร์ม แต่ ได้รับการตีความว่าเป็นจุดเริ่มต้นของลำดับหลีกพิเศษ ดังนั้น หากข้อมูลในแบบฟอร์มจำเป็นต้อง มีเครื่องหมายเปอร์เซ็นต์ (%) ในคีย์หรือค่า ระบบจึงควรส่งข้อมูล เป็น%25,ซึ่งแทนรหัส ASCII สำหรับเครื่องหมายเปอร์เซ็นต์ (%) อักขระ
- หากข้อมูลในแบบฟอร์มมีขนาดเล็ก ระบบจะส่งข้อมูลเป็นคู่คีย์-ค่าพร้อมข้อมูลต่อไปนี้
- ประเภทเนื้อหา: ข้อมูลหลายส่วน/แบบฟอร์ม
หากต้องการส่งข้อมูลไบนารีหรือข้อความที่มีอักขระที่ไม่ใช่ ASCII จำนวนมาก จากนั้นคุณจะสามารถส่งข้อมูลที่มี
Content-Type:multipart/form-data ตามที่อธิบายไว้ใน แบบฟอร์ม - ส่วนที่ 17.13.4.2
สาเหตุที่เป็นไปได้
ข้อผิดพลาดนี้จะเกิดขึ้นก็ต่อเมื่อเป็นไปตามเงื่อนไขทั้งหมดต่อไปนี้
- คำขอ HTTP ที่ไคลเอ็นต์ไปยัง Apigee Edge ประกอบด้วยข้อมูลต่อไปนี้
Content-Type: application/x-www-form-urlencodedและ- ข้อมูลแบบฟอร์มที่มีเครื่องหมายเปอร์เซ็นต์ (
%) หรือสัญลักษณ์เปอร์เซ็นต์ (%) ตามด้วยอักขระฐานสิบหกที่ไม่ถูกต้อง ซึ่งไม่ได้รับอนุญาตตาม แบบฟอร์ม - ส่วนที่ 17.13.4.1
พร็อกซี API ใน Apigee Edge จะอ่านพารามิเตอร์แบบฟอร์มที่เฉพาะเจาะจงซึ่งมีอักขระต่างๆ อยู่ ที่ไม่ได้รับอนุญาตให้ใช้ในขั้นตอนคําขอโดยใช้ ExtractVariable หรือ นโยบาย AssignMessage
ตัวอย่างเช่น หากข้อมูลในแบบฟอร์มมีเครื่องหมายเปอร์เซ็นต์ (
%) ตามที่มีอยู่ (ไม่มี การเข้ารหัส) หรือเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วยเลขฐานสิบหกที่ไม่ถูกต้อง ในคีย์และ/หรือค่า จากนั้นคุณจะได้รับข้อผิดพลาดนี้สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาดนี้มีดังนี้
สาเหตุ คำอธิบาย วิธีการแก้ปัญหาสำหรับ พารามิเตอร์แบบฟอร์มในคำขอมีอักขระที่ไม่อนุญาต พารามิเตอร์แบบฟอร์มที่ส่งผ่านซึ่งเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์มีข้อมูล อักขระที่ไม่อนุญาต ผู้ใช้ Edge สาธารณะและ Private Cloud
ขั้นตอนการวินิจฉัยทั่วไป
ใช้เครื่องมือ/เทคนิคต่อไปนี้เพื่อวินิจฉัยข้อผิดพลาดนี้
การตรวจสอบ API
วิธีวินิจฉัยข้อผิดพลาดโดยใช้การตรวจสอบ API
- ลงชื่อเข้าใช้ Apigee Edge UI ในฐานะผู้ใช้ที่มี บทบาทที่เหมาะสม
เปลี่ยนเป็นองค์กรที่ต้องการตรวจสอบปัญหา
- ไปที่ วิเคราะห์ > การตรวจสอบ API > หน้าตรวจสอบ
- เลือกกรอบเวลาที่คุณพบข้อผิดพลาด
พล็อตรหัสข้อผิดพลาดเทียบกับเวลา
เลือกเซลล์ที่มีรหัสข้อผิดพลาด
protocol.http.BadFormDataเป็น แสดงอยู่ด้านล่าง
ข้อมูลเกี่ยวกับรหัสข้อผิดพลาด
protocol.http.BadFormDataคือ ดังที่แสดงด้านล่าง
คลิก ดูบันทึก และขยายแถวสำหรับคำขอที่ล้มเหลว
- จากหน้าต่าง Logs ให้จดรายละเอียดต่อไปนี้
- รหัสสถานะ:
500 - แหล่งที่มาของข้อผิดพลาด:
proxy - รหัสข้อผิดพลาด:
protocol.http.BadFormData - นโยบายข้อผิดพลาด:
extractvariables/EV-ExtractFormParams
- รหัสสถานะ:
- หากแหล่งที่มาของข้อผิดพลาดคือ
proxyรหัสข้อผิดพลาดจะเป็นprotocol.http.BadFormDataและ Fault Policy ไม่ว่างเปล่า จากนั้น ระบุว่าเกิดข้อผิดพลาดขณะนโยบายที่ระบุอยู่ในข้อผิดพลาด นโยบายได้อ่านหรือดึงข้อมูลแบบฟอร์ม (พารามิเตอร์แบบฟอร์ม) ซึ่งมี อักขระที่ไม่อนุญาต - ในตัวอย่างนี้ X-Apigee-fault-policy คือ
extractvariables/EV- ExtractFormParams,ซึ่งหมายความว่านโยบาย ExtractVariable ที่ชื่อว่า EV-ExtractFormParams ทำงานล้มเหลวขณะอ่านหรือดึงแบบฟอร์ม พารามิเตอร์
เครื่องมือการติดตาม
วิธีวินิจฉัยข้อผิดพลาดโดยใช้เครื่องมือติดตาม
- เปิดใช้เซสชันการติดตาม
และเลือกระหว่าง
- รอให้ข้อผิดพลาด
500 Internal Server Errorเกิดขึ้น หรือ - หากคุณทำให้เกิดปัญหาซ้ำได้ ให้เรียกใช้ API เพื่อจำลองปัญหา
500 Internal Server Error
- รอให้ข้อผิดพลาด
ตรวจสอบว่าเปิดใช้แสดง FlowInfo ทั้งหมด แล้ว
- เลือกคำขอที่ไม่สำเร็จรายการหนึ่งและตรวจสอบการติดตาม
- ไปยังส่วนต่างๆ ของการติดตามและค้นหาตำแหน่งที่ล้มเหลว เกิดขึ้น
คุณจะพบข้อผิดพลาดตามปกติในนโยบายข้อใดข้อหนึ่งต่อไปนี้
ในการติดตามตัวอย่างข้างต้น โปรดทราบว่าความล้มเหลวเกิดขึ้นใน นโยบาย ExtractVariable ชื่อ
EV-ExtractFormParamsไปยังขั้นตอนที่ชื่อ Error หลังนโยบายที่เฉพาะเจาะจงซึ่งล้มเหลว
- สังเกตค่าต่อไปนี้จากการติดตาม
ข้อผิดพลาด:
Bad Form Dataรัฐ:
PROXY_REQ_FLOWerror.class:
com.apigee.rest.framework.BadRequestException- ค่าของข้อผิดพลาด
Bad Form Dataระบุว่าแบบฟอร์ม พารามิเตอร์ มีอักขระบางตัวที่ไม่ได้รับอนุญาต - ค่าของรัฐ
PROXY_REQ_FLOW,บ่งบอกว่า เกิดข้อผิดพลาดในโฟลว์คำขอของพร็อกซี API
- ค่าของข้อผิดพลาด
- ไปที่ระยะ AX (Analytics Data Recorded) ในการติดตามและคลิก ได้
เลื่อนลงไปที่ส่วน Phase Details - Error Headers และ กำหนดค่าของ X-Apigee-fault-code, X-Apigee-fault-source และ X-Apigee-fault-policy ดังที่แสดงด้านล่าง
โปรดทราบว่าค่าของ X-Apigee-fault-code และ X-Apigee-fault-source คือ
protocol.http.BadFormDataและpolicyตามลำดับ และ X-Apigee-fault-policy ไม่ว่างเปล่า ซึ่งเป็นการระบุว่าข้อผิดพลาด เกิดขึ้นขณะที่นโยบายเฉพาะที่ระบุไว้ใน X-Apigee-fault-policy ถูก อ่านหรือแยกข้อมูลแบบฟอร์ม (พารามิเตอร์แบบฟอร์ม) ซึ่งมีอักขระที่ ไม่ได้รับอนุญาตส่วนหัวการตอบกลับ ค่า X-Apigee-fault-code protocol.http.BadFormDataX-Apigee-fault-source policyX-Apigee-fault-policy extractvariables/EV-ExtractFormParams- ในตัวอย่างนี้ X-Apigee-fault-policy คือ
extractvariables/EV- ExtractFormParams,ซึ่งหมายความว่านโยบาย ExtractVariable ที่ชื่อว่าEV-ExtractFormParamsล้มเหลวขณะอ่านหรือแตกข้อมูลแบบฟอร์ม พารามิเตอร์
NGINX
วิธีวินิจฉัยข้อผิดพลาดโดยใช้บันทึกการเข้าถึง NGINX
- หากคุณเป็นผู้ใช้ Private Cloud คุณสามารถใช้บันทึกการเข้าถึง NGINX เพื่อ
ระบุข้อมูลสำคัญเกี่ยวกับ HTTP
500 Internal Server Error ตรวจสอบบันทึกการเข้าถึง NGINX ดังต่อไปนี้
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log- ค้นหาว่ามีข้อผิดพลาด
500ที่มีรหัสข้อผิดพลาดไหมprotocol.http.BadFormDataในช่วงระยะเวลาหนึ่ง (หากปัญหา เกิดขึ้นในอดีต) หรือหากมีคำขอใดที่ยังคงล้มเหลว500 หากคุณพบข้อผิดพลาด
500ที่มี X-Apigee-fault-code ตรงกับค่าของprotocol.http.BadFormDataจากนั้น ระบุค่าของ X-Apigee-fault-source และ X-Apigee-fault-policy.ตัวอย่างข้อผิดพลาด 500 จากบันทึกการเข้าถึง NGINX
ตัวอย่างรายการข้างต้นจากบันทึกการเข้าถึง NGINX มีค่าต่อไปนี้สำหรับ X-Apigee-fault-code และ X-Apigee-fault-source:
ส่วนหัว ค่า X-Apigee-fault-code protocol.http.BadFormDataX-Apigee-fault-source policyX-Apigee-fault-policy extractvariables/EV-ExtractFormParams- โปรดทราบว่าค่าของ X-Apigee-fault-code, X-Apigee-fault-source
เท่ากับ
protocol.http.BadFormDatapolicyตามลำดับ และ X-Apigee-fault-policy ไม่ว่างเปล่า ซึ่งเป็นการระบุว่าข้อผิดพลาด เกิดขึ้นขณะที่นโยบายเฉพาะที่ระบุไว้ใน X-Apigee-fault-policy, ถูก อ่านหรือแยกข้อมูลแบบฟอร์ม (พารามิเตอร์แบบฟอร์ม) ซึ่งมีอักขระที่ ไม่ได้รับอนุญาต - ในตัวอย่างนี้ X-Apigee-fault-policy คือ
extractvariables/EV- ExtractFormParams,ซึ่งหมายความว่านโยบาย ExtractVariable ที่ชื่อว่าEV-ExtractFormParamsล้มเหลวขณะอ่านแบบฟอร์ม พารามิเตอร์
สาเหตุ: พารามิเตอร์แบบฟอร์มในคำขอมีอักขระที่ไม่อนุญาต
การวินิจฉัย
- กำหนดรหัสข้อผิดพลาด แหล่งที่มาของข้อผิดพลาด และนโยบายข้อผิดพลาดสำหรับ
500 Internal Server Errorโดยใช้การตรวจสอบ API, เครื่องมือการติดตาม หรือบันทึกการเข้าถึง NGINX ตามที่อธิบายไว้ ในขั้นตอนการวิเคราะห์ทั่วไป - หาก Fault Code คือ
protocol.http.BadFormDataแสดงว่า Fault Source จะมี ค่าproxyหรือpolicyและ Fault Policy ไม่ใช่ค่า ว่างเปล่า, จากนั้นจะบ่งชี้ว่านโยบายที่ระบุใน,ล้มเหลวขณะที่ อ่านหรือแยกข้อมูลแบบฟอร์ม (พารามิเตอร์ของฟอร์ม) - ตรวจสอบนโยบายที่ระบุไว้ในนโยบายข้อผิดพลาดและระบุสิ่งต่อไปนี้
ข้อมูล:
- แหล่งที่มา: ระบุว่านโยบายกำลังอ่านหรือดึงข้อมูลจาก คำขอหรือการตอบกลับ
- พารามิเตอร์แบบฟอร์ม: ระบุพารามิเตอร์แบบฟอร์มเฉพาะเจาะจงที่กําลังอ่านใน
ตัวอย่าง #1
ตัวอย่างที่ 1: นโยบาย ExtractVariable ในการดึงข้อมูลพารามิเตอร์แบบฟอร์ม
<ExtractVariables name="EV-ExtractFormParms"> <DisplayName>EV-ExtractFormParams</DisplayName> <Source>request</Source> <FormParam name="username"> <Pattern ignoreCase="false">{username}</Pattern> </FormParam> <FormParam name="password"> <Pattern ignoreCase="false">{password}</Pattern> </FormParam> <VariablePrefix>forminfo</VariablePrefix> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ExtractVariables>ในนโยบาย ExtractVariable ข้างต้น
แหล่งที่มา:
requestระบุโดยองค์ประกอบ
<Source>พารามิเตอร์แบบฟอร์ม:
usernameและpasswordซึ่งระบุโดยองค์ประกอบ
<Pattern>ภายในองค์ประกอบ องค์ประกอบ<FormParam>
พารามิเตอร์นี้ระบุว่าพารามิเตอร์ของฟอร์ม
usernameและ/หรือpasswordส่งผ่านเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์ไปยัง Apigee Edge มีอักขระที่ไม่ได้รับอนุญาตให้ใช้งานตัวอย่าง #2
ตัวอย่างที่ 2: พารามิเตอร์แบบฟอร์มการคัดลอกนโยบาย AssignMessage
<AssignMessage continueOnError="false" enabled="true" name="AM-CopyFormParams"> <Copy source="request"> <FormParams> <FormParam name="username"/> <FormParam name="password"/> </FormParams> </Copy> <AssignTo createNew="true" transport="http" type="request"/> </AssignMessage>
ในนโยบาย ExtractVariable ข้างต้น
แหล่งที่มา:
requestซึ่งระบุโดยแอตทริบิวต์
sourceใน องค์ประกอบ<Copy>พารามิเตอร์แบบฟอร์ม:
usernameและpasswordซึ่งระบุโดยแอตทริบิวต์
nameใน องค์ประกอบ<FormParam>
พารามิเตอร์นี้ระบุว่าพารามิเตอร์ของฟอร์ม
usernameหรือpasswordหรือ ทั้ง 2 รายการที่ส่งเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์ไปยัง Apigee Edge มีรายการ อักขระที่ไม่อนุญาตให้ใช้
ตรวจสอบว่ามีอักขระที่ไม่ได้รับอนุญาตหรือไม่ อักขระที่ใช้ในพารามิเตอร์แบบฟอร์มที่ระบุในขั้นตอนที่ 3 โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
เครื่องมือการติดตาม
วิธีตรวจสอบโดยใช้เครื่องมือติดตาม
- หากคุณได้บันทึกการติดตามสำหรับคำขอที่ล้มเหลวตามที่อธิบายไว้ใน ขั้นตอนการวิเคราะห์ทั่วไป แล้วเลือกหนึ่งใน คำขอที่ไม่สำเร็จ
- หากคุณระบุว่าพารามิเตอร์ฟอร์มมีอักขระ
ที่ ไม่ได้รับอนุญาต ให้ใช้เป็นส่วนหนึ่งของคำขอ HTTP ใน
ขั้นตอนที่ 3 ด้านบน จากนั้น
- ไปที่ระยะคำขอที่ได้รับจากไคลเอ็นต์
เลื่อนลงไปที่ส่วนรายละเอียดระยะ และตรวจสอบ ส่งคำขอเนื้อหา
- ในตัวอย่างด้านบน โปรดทราบว่าพารามิเตอร์แบบฟอร์ม
passwordมีเครื่องหมายเปอร์เซ็นต์ (%) - เนื่องจากเครื่องหมายเปอร์เซ็นต์ (
%) ยังใช้สำหรับ การเข้ารหัสเปอร์เซ็นต์กับอักขระพิเศษ จะใช้ตามที่เป็นไม่ได้ ข้อมูลแบบฟอร์ม - ดังนั้น Apigee Edge จะตอบสนองด้วย
500 Internal Server Errorที่มีรหัสข้อผิดพลาดprotocol.http.BadFormData
คำขอจริง
วิธีตรวจสอบโดยใช้คำขอจริงมีดังนี้
- หากคุณไม่มีสิทธิ์เข้าถึงคำขอจริงที่ส่งไปยังเซิร์ฟเวอร์เป้าหมาย ให้ไปที่ความละเอียด
- หากคุณมีสิทธิ์เข้าถึงคำขอจริงที่ส่งไปยัง Apigee Edge ให้ทำการดำเนินการ
ขั้นตอนต่อไปนี้
- ตรวจสอบเนื้อหาข้อมูลแบบฟอร์มและดูว่ามีอักขระที่
ไม่อนุญาตให้ใช้ เช่น เครื่องหมายเปอร์เซ็นต์ (
%) หรือเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วย อักขระฐานสิบหกตัวอย่าง #1
ตัวอย่างคำขอที่ 1: ข้อมูลในแบบฟอร์มซึ่งเป็นส่วนหนึ่งของคำขอ
curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%ZY"
ในตัวอย่างนี้ โปรดทราบว่าองค์ประกอบ
client_secretมีเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วย อักขระฐานสิบหกไม่ถูกต้องZYตัวอย่าง #2
ตัวอย่างคำขอ #2: ข้อมูลแบบฟอร์มที่ส่งในไฟล์
curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
เนื้อหาของ form_data.xml:
xml=<user><username>abc1234@google.com</username><password>qwerty12345!@#$%</password></user>
ในตัวอย่างนี้ โปรดทราบว่าองค์ประกอบ
passwordมีเครื่องหมายเปอร์เซ็นต์ (%) ซึ่งไม่ควร ตามที่อยู่ในข้อมูลแบบฟอร์ม
- ตรวจสอบเนื้อหาข้อมูลแบบฟอร์มและดูว่ามีอักขระที่
ไม่อนุญาตให้ใช้ เช่น เครื่องหมายเปอร์เซ็นต์ (
- ใน 2 ตัวอย่างด้านบน ข้อมูลแบบฟอร์มที่ส่งเป็นส่วนหนึ่งของคำขอ HTTP ไปยัง Apigee Edge มีอักขระที่ไม่ได้รับอนุญาตให้ใช้งาน
- ดังนั้น Apigee Edge จะตอบสนองด้วย
500 Internal Server Errorมีรหัสข้อผิดพลาดprotocol.http.BadFormData
ความละเอียด
- ตรวจสอบว่าสัญลักษณ์พิเศษทั้งในคีย์และค่าของข้อมูลแบบฟอร์มหรือพารามิเตอร์ ส่งเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์มีการเข้ารหัสเสมอตามที่อธิบายไว้ใน ข้อมูลแบบฟอร์ม - application/x-www-form-urlencrypted
- สำหรับตัวอย่างที่พูดถึงข้างต้น คุณสามารถแก้ไขปัญหาได้ดังนี้
ตัวอย่าง #1
ตัวอย่างที่ 1: ข้อมูลแบบฟอร์มที่ส่งผ่านเป็นส่วนหนึ่งของคำขอ
ใช้ ที่ถูกต้อง อักขระเลขฐานสิบหกที่ตรงกับรหัส ASCII สำหรับอักขระที่ระบุ เช่น หากคุณต้องการส่งเครื่องหมายดอลลาร์ (
$) ให้ใช้%24ดังที่แสดงด้านล่างcurl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%24"
ตัวอย่าง #2
ตัวอย่างคำขอ #2: ข้อมูลแบบฟอร์มที่ส่งในไฟล์
curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
เนื้อหาของ form_data.xml:
ใช้เมนู การเข้ารหัสเปอร์เซ็นต์สำหรับเครื่องหมายเปอร์เซ็นต์ (
%) ซึ่งแก้ไขไฟล์เป็น มี%25ดังที่แสดงด้านล่างxml=<user><username>abc1234@google.com</username><password>qwerty12345!!@#$%25</password></user>
ข้อมูลจำเพาะ
Apigee Edge คาดว่าจะมีการส่งข้อมูลแบบฟอร์มตามข้อกำหนดต่อไปนี้
| ข้อมูลจำเพาะ |
|---|
| ข้อมูลแบบฟอร์ม - application/x-www-form-urlencoded |
หากยังต้องการความช่วยเหลือจากทีมสนับสนุนของ Apigee ให้ไปที่ต้องรวบรวม ข้อมูลการวินิจฉัย
ต้องรวบรวมข้อมูลการวินิจฉัย
หากปัญหายังคงอยู่แม้ว่าจะทำตามคำแนะนำด้านบนแล้ว ให้รวบรวมข้อมูลต่อไปนี้ ข้อมูลการวินิจฉัย จากนั้นติดต่อฝ่ายสนับสนุนของ Apigee Edge
หากคุณเป็นผู้ใช้ระบบคลาวด์สาธารณะ โปรดระบุข้อมูลต่อไปนี้
- ชื่อองค์กร
- ชื่อสภาพแวดล้อม
- ชื่อพร็อกซี API
- ทำตามคำสั่ง
curlในการสร้างซ้ำ500 Internal Server Errorที่มีรหัสข้อผิดพลาดprotocol.http.BadFormData - ไฟล์การติดตามสำหรับคำขอ API
หากคุณเป็นผู้ใช้ Private Cloud ให้ระบุข้อมูลต่อไปนี้
- พบข้อความแสดงข้อผิดพลาดทั้งหมดสำหรับคำขอที่ล้มเหลว
- ชื่อสภาพแวดล้อม
- แพ็กเกจพร็อกซี API
- ไฟล์การติดตามสำหรับคำขอ API
บันทึกการเข้าถึง NGINX
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_logที่ไหน: ORG, ENV และ PORT# จะถูกแทนที่ด้วย มูลค่าจริง
บันทึกของระบบโปรแกรมประมวลผลข้อความ
/opt/apigee/var/log/edge-message-processor/logs/system.log