คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
เริ่มต้นใช้งาน
- ฉันจะติดตั้ง Edge Microgateway ได้อย่างไร
- โปรดดูการติดตั้ง Edge Microgateway
- ฉันจะเรียกใช้ Edge Microgateway ได้อย่างไร
- ดู การ ตั้งค่าและกำหนดค่า Microgateway ของ Edge
- ฉันต้องใช้ฐานข้อมูลเพื่อเรียกใช้ Microgateway ไหม
- API ที่ส่งผ่านพร็อกซีผ่าน Edge Microgateway อาจโต้ตอบกับฐานข้อมูลที่ทํางานเป็นส่วนหนึ่งของบริการเป้าหมาย อย่างไรก็ตาม Edge Microgateway จะทำงานแยกจากฐานข้อมูลหรือที่เก็บข้อมูลแบ็กเอนด์
การดำเนินการ
- การเปลี่ยนแปลงใดใน Edge ที่ต้องมีการรีสตาร์ท Microgateway ของ Edge
- Edge Microgateway จะสำรวจการเปลี่ยนแปลงที่ทำใน Apigee Edge โดยอัตโนมัติ เช่น การเปลี่ยนแปลงพร็อกซี ผลิตภัณฑ์ หรือแอปของนักพัฒนาซอฟต์แวร์ที่รับรู้ไมโครเกตเวย์ ช่วงการหยั่งสัญญาณเริ่มต้นคือ 600 วินาที แต่คุณเปลี่ยนระยะเวลาได้ด้วยการตั้งค่ากำหนดของ
config_change_poll_interval
ดู แอตทริบิวต์ edgemicro - หากไม่ต้องการรอช่วงเวลาการโหวต ให้ใช้คำสั่ง
edgemicro reload
เพื่อรับการเปลี่ยนแปลงล่าสุด ดูหัวข้อการโหลดคลัสเตอร์ Microgateway ซ้ำ - ฉันจะแยกความแตกต่างระหว่างพร็อกซีที่ทำให้ใช้งานได้ใน Edge กับพร็อกซีใน Edge Microgateway ได้อย่างไร
- เมื่อกำหนดค่า Edge Microgateway รายการพร็อกซีที่รับรู้ถึงไมโครเกตเวย์ที่ทำให้ใช้งานได้ใน Apigee Edge จะได้รับการดาวน์โหลดไปยังการกำหนดค่าภายในของ Edge Microgateway พร็อกซีที่รับรู้ Microgateway คือพร็อกซีที่มีชื่อเป็นคำนำหน้า
edgemicro_
- ตัวเลือกการบันทึกด้วย Edge Microgateway มีอะไรบ้าง
- Edge Microgateway มีฟีเจอร์การบันทึกในตัว โปรดดูรายละเอียดที่หัวข้อ การจัดการไฟล์บันทึก
- คุณยังเขียนปลั๊กอินที่กำหนดเองเพื่อใช้บริการบันทึกของบุคคลที่สามกับ Edge Microgateway ได้ด้วย คุณไม่สามารถใช้นโยบายการบันทึกข้อความของ Apigee Edge เพื่อบันทึกข้อความสําหรับ Edge Microgateway เนื่องจากลักษณะการทํางานของ Edge Microgateway โปรดดูบทความของชุมชน Logging Plugin for Microgateway
- ฉันจะใช้ชุดค่าผสมคีย์/ข้อมูลลับซ้ำระหว่างอินสแตนซ์ของ Edge Microgateway ได้ไหม
- ตราบใดที่องค์กรและสภาพแวดล้อมเหมือนกันสำหรับอินสแตนซ์ Microgateway คุณจะใช้คู่คีย์/ข้อมูลลับที่สร้างขึ้นระหว่างการกำหนดค่าซ้ำได้
- ฉันจะกำหนดค่า Edge Microgateway เพื่อเริ่มต้นใช้งานในสภาพแวดล้อมที่ใช้งานจริงได้อย่างไร
- คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมสำหรับพารามิเตอร์คำสั่งเริ่มต้นได้ เช่น
EDGEMICRO_KEY
,EDGEMICRO_SECRET
,EDGEMICRO_ORG
และEDGEMICRO_ENV
ตัวแปรเหล่านี้ (และอื่นๆ) จะช่วยให้คุณเริ่มใช้งาน Edge Microgateway ด้วยคําสั่งเดียวedgemicro start
โปรดดูเพิ่มเติมที่ การตั้งค่าตัวแปรสภาพแวดล้อม - ฉันจะใช้แอตทริบิวต์ผลิตภัณฑ์ที่กำหนดเองหรือแอปของนักพัฒนาซอฟต์แวร์กับ Edge Microgateway ได้ไหม
- ไม่ โดยค่าเริ่มต้น Edge Microgateway จะดำเนินการกับแอตทริบิวต์ที่เกี่ยวข้องกับการกำหนดเส้นทางพื้นฐานและความปลอดภัยเท่านั้น อย่างไรก็ตาม คุณสามารถแก้ปัญหาชั่วคราวได้โดยใช้ตัวเลือกต่อไปนี้
-
เพิ่มแอตทริบิวต์ที่กำหนดเองลงใน
edgemicro-auth
พร็อกซีที่ Edge Microgateway ติดตั้งใช้งานใน Apigee Edge แอตทริบิวต์เหล่านี้จะพร้อมใช้งานเมื่อใช้ความปลอดภัยของคีย์ API หรือโทเค็น OAuth - แก้ไขปลั๊กอิน OAuth ให้ดำเนินการกับแอตทริบิวต์เหล่านั้น
-
เพิ่มแอตทริบิวต์ที่กำหนดเองลงใน
- มีการจำกัดขนาดส่วนหัวของคำขอไหม
- หากคุณอัปเกรด Node.js เป็น v8.14.0 หรือเวอร์ชันที่ใหม่กว่า โปรดทราบว่าขนาดส่วนหัวสูงสุดที่อนุญาตในคำขอลดลงจาก 80 KB เป็น 8 KB ส่วนหัวที่มีขนาดเกิน 8 KB จะแสดงข้อผิดพลาด HTTP 431
- ตัวเลือกการกำหนดค่า Node.js ที่เพิ่มเข้ามาใน Node.js v11.6.0 จะช่วยให้คุณเปลี่ยนขนาดส่วนหัวสูงสุดเริ่มต้นได้ พารามิเตอร์
--max-http-header-size
นี้ช่วยให้คุณระบุขนาดสูงสุดของส่วนหัว HTTP เป็นไบต์ได้ - หากต้องการเปลี่ยนการกําหนดค่าเริ่มต้น ให้ตั้งค่าตัวแปรสภาพแวดล้อม
NODE_OPTIONS
ในบรรทัดคําสั่งดังนี้NODE_OPTIONS=--max-http-header-size=NUM_BYTES
เช่น
NODE_OPTIONS=--max-http-header-size=80000
Edge Microgateway ใช้ API การจัดการใด
คำสั่ง Edge Microgateway ต่อไปนี้จะเรียก API การจัดการ Apigee Edge ให้ทำงานตามที่อธิบายไว้ใน ข้อมูลอ้างอิง CLI สำหรับ Edge Microgateway
edgemicro configure
edgemicro upgradeauth
edgemicro upgradekvm
edgemicro rotatekey
edgemicro cert check
edgemicro cert delete
edgemicro cert install
ส่วนต่อไปนี้แสดงรายการการเรียก Management API ที่แต่ละคําสั่งใช้
คำสั่ง edgemicro configure
และ upgradeauth
จะเรียกใช้ API การจัดการต่อไปนี้
- (รายการการทำให้ใช้งานได้)
GET: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/deployments
- (get deployment info)
GET: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=java&name=micro-gateway-products-javacallout-2.0.0.jar
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=adjust-quota.js
- (อัปโหลดแหล่งข้อมูล)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=generate-jwk.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=generate-verify-jwt.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=jsrsasign-all-min.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=jwt-initialization.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-jwk-response.js
- (อัปโหลดแหล่งข้อมูล)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-product-list.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-public-key.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-jwt-variables.js
- (อัปโหลดแหล่งข้อมูล)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-quota-variables.js
- (อัปโหลดแหล่งข้อมูล)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-response.js
- (อัปโหลดทรัพยากร)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=validate-params.js
- (สร้างพร็อกซี API)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis?action=import&validate=false&name=edgemicro-auth
- (นโยบายการอัปโหลด)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/policies
- (อัปโหลดพร็อกซี)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/proxies?name=default
- (deploy proxy)
POST: https://api.enterprise.apigee.com/v1/o/[org]/e/[env]/apis/edgemicro-auth/revisions/1/deployments
คำสั่ง upgradekvm
จะเรียกใช้ Management API ต่อไปนี้
PUT: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
คำสั่ง rotatekey
จะเรียกใช้ Management API ต่อไปนี้
GET: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway/entries/private_key
คำสั่ง cert check
เรียกใช้ API การจัดการต่อไปนี้
GET: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
คำสั่ง cert delete
จะเรียกใช้ Management API ต่อไปนี้
DELETE: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
คำสั่ง cert install
เรียกใช้ API การจัดการต่อไปนี้
POST: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps
การทำให้ใช้งานได้
- ฉันจะติดตั้งใช้งาน Edge Microgateway ในเซิร์ฟเวอร์เดียวกับที่บริการเป้าหมายทำงานอยู่ได้ไหม
- ได้ Edge Microgateway เป็นกระบวนการขนาดเล็กที่สามารถทำงานใกล้กับบริการเป้าหมายได้ รวมถึงในเครื่องเดียวกัน
- ฉันจะติดตั้งใช้งานพุลส์พร็อกซี Edge ที่มีอยู่เป็นการทําให้ใช้งานได้ของ Edge Microgateway ได้ไหม
- ไม่ พร็อกซีที่ทราบเกี่ยวกับ Microgateway ของ Edge มีข้อกําหนดเฉพาะและไม่รองรับฟีเจอร์ทั้งหมดของพร็อกซี Edge ปกติ ดูส่วนที่ 2: สร้างเอนทิตีใน Apigee Edge
- ฉันจะเปิดใช้การทดแทนระหว่างการติดตั้งใช้งานพุลส์พร็อกซีของ Edge กับการติดตั้งใช้งาน Microgateway ของ Edge สําหรับพร็อกซี API เดียวกันได้ไหม
- ไม่ได้ Edge Microgateway ไม่ทราบเกี่ยวกับการทำให้พร็อกซี API ที่ไม่ใช่ Microgateway ใช้งานได้ใน Apigee Edge
- รูปแบบการใช้งานที่มีความพร้อมใช้งานสูงสำหรับ Edge Microgateway คืออะไร
- หากต้องการพูดคุยเกี่ยวกับวิธีเรียกใช้ Edge Microgateway โดยใช้ NGINX เป็นตัวจัดสรรภาระงาน โปรดดู การจัดการ API ด้วย Apigee Edge Microgateway และ NGINX
- ฉันจะใช้ตัวจัดสรรภาระงานใดกับ Edge Microgateway ได้บ้าง
- Edge Microgateway ทำงานร่วมกับโหลดบาลานเซอร์ได้ทุกประเภท
- มีการจำกัดจำนวนพร็อกซี Edge Microgateway ที่ฉันทำให้ใช้งานได้หรือไม่
- ดูขีดจํากัดการกําหนดค่าผลิตภัณฑ์ที่ระบุไว้สําหรับพร็อกซี Edge ปกติ จำนวนพร็อกซีที่รับรู้ถึง Microgateway ที่คุณติดตั้งใช้งานได้ในองค์กรและสภาพแวดล้อม Apigee Edge รวมถึงการเรียกผ่าน Microgateway ของ Edge ต้องเป็นไปตามขีดจํากัดเดียวกัน
- ฉันจะเชื่อมโยงการติดตั้งใช้งาน Edge Microgateway กับองค์กรและสภาพแวดล้อมที่เฉพาะเจาะจงได้ไหม
- เมื่อคุณกําหนดค่าอินสแตนซ์ของ Edge Microgateway คุณต้องเชื่อมโยงกับองค์กรและสภาพแวดล้อม Edge ที่เฉพาะเจาะจง
- ฉันจะเชื่อมโยงการติดตั้งใช้งาน Edge Microgateway กับภูมิภาคที่เฉพาะเจาะจงได้หรือไม่ (หากฉันเป็นลูกค้าแบบหลายภูมิภาค)
- Edge Microgateway จะเลือกภูมิภาคที่ดีที่สุดสำหรับการโต้ตอบกับ Apigee Edge โดยอัตโนมัติ คุณทำให้อินสแตนซ์ Edge Microgateway ใช้งานได้ในแต่ละภูมิภาคที่ต้องการให้บริการ
การบริหารจัดการ
- ฉันต้องเป็นผู้ดูแลระบบขององค์กรจึงจะกำหนดค่าและติดตั้งใช้งาน Edge Microgateway ได้ไหม
- ได้ คุณต้องมีข้อมูลเข้าสู่ระบบของผู้ดูแลระบบองค์กรเพื่อกำหนดค่าและทำให้ Edge Microgateway ใช้งานได้
- ฉันต้องเป็น "ผู้ดูแลระบบองค์กร" จึงจะเรียกใช้ Edge Microgateway ได้ไหม
- ไม่ Edge Microgateway เป็นแอปพลิเคชัน
Node.js
และทุกคนที่มีสิทธิ์เรียกใช้แอปพลิเคชันดังกล่าวในเครื่องหนึ่งๆ จะเรียกใช้ได้ - ผู้ใช้ในองค์กรของฉันจะใช้ Edge Microgateway ได้ไหม
- คุณไม่จำเป็นต้องเป็นผู้ใช้องค์กร Apigee Edge เพื่อเรียก API ผ่าน Microgateway ของ Edge อย่างไรก็ตาม คุณต้องมีสิทธิ์ระดับองค์กรจึงจะสร้างหรือเปลี่ยนพร็อกซีที่รับรู้ Microgateway ของ Edge ซึ่งติดตั้งใช้งานใน Edge ได้
ประสิทธิภาพ
- ข้อควรพิจารณาด้านประสิทธิภาพในการใช้ Edge Microgateway
- หากเรียกใช้ Edge Microgateway ร่วมกับแอปพลิเคชันเป้าหมาย ให้ตรวจสอบว่าเซิร์ฟเวอร์มีความจุเพียงพอ
- แนวทางปฏิบัติแนะนำในการใช้งาน Edge Microgateway หลายเครื่องพร้อมกันมีอะไรบ้าง
- Apigee แนะนำให้เรียกใช้อินสแตนซ์ Edge Microgateway หลายรายการในเซิร์ฟเวอร์ที่แตกต่างกันโดยมีตัวกระจายโหลด เช่น NGINX อยู่ด้านหน้า โปรดดูเพิ่มเติมที่หัวข้อ การจัดการ API ด้วย Apigee Edge Microgateway และ NGINX และ การปรับขนาดแนวนอนแนวตั้งในชุมชน Apigee
- โดยค่าเริ่มต้น Edge Microgateway TPS คืออะไร และมีข้อกำหนดฮาร์ดแวร์อะไรบ้างสำหรับอินสแตนซ์ Microgateway
- ข้อกำหนดด้านฮาร์ดแวร์และการวัด TPS นั้นวัดได้ยากด้วย Edge Microgateway ขึ้นอยู่กับการตั้งค่าของคุณ ซึ่งประกอบด้วยการปรับแต่ง Edge Microgateway, การใช้ปลั๊กอิน, ปลั๊กอินที่กำหนดเอง และการกําหนดค่าสิ่งอื่นๆ เช่น TLS โดยทั่วไป Apigee ขอแนะนำให้คุณลองใช้ชุดค่าผสมของรายการต่างๆ และทำการทดสอบประสิทธิภาพกับการตั้งค่าที่เฉพาะเจาะจง
การติดตั้งใช้งาน Private Cloud
- Edge Microgateway ทำงานร่วมกับ Edge สำหรับ Private Cloud ได้ไหม
- ได้ โปรดดูรายละเอียดที่หัวข้อ ขั้นตอนการกำหนดค่า Apigee Private Cloud
ปลั๊กอิน
- โควต้าบังคับใช้กับ Edge Microgateway อย่างไร
- คุณเลือกที่จะเพิ่มปลั๊กอินโควต้าลงในอินสแตนซ์ของ Edge Microgateway ได้ โปรดดูรายละเอียดที่หัวข้อการใช้ปลั๊กอินโควต้า
- Spike Arrest บังคับใช้กับ Edge Microgateway อย่างไร
- คุณเลือกที่จะเพิ่มปลั๊กอินการป้องกันการเพิ่มขึ้นของปริมาณข้อมูลลงในอินสแตนซ์ของ Edge Microgateway ได้ โปรดดูรายละเอียดที่หัวข้อการใช้ปลั๊กอินการหยุดการเพิ่มขึ้นอย่างฉับพลัน
- มีวิธีอื่นในการเขียนปลั๊กอินนอกเหนือจาก
Node.js
สำหรับ Edge Microgateway ไหม - ไม่ได้ ปลั๊กอินต้องเขียนด้วย
Node.js
- จะเกิดอะไรขึ้นเมื่อ Edge Microgateway อัปโหลดข้อมูล Analytics ไปยัง Edge ไม่ได้
- Edge Microgateway มีบัฟเฟอร์ในหน่วยความจํา หากบัฟเฟอร์เต็ม ระบบจะทิ้งเพย์โหลดเก่าเพื่อให้การรับส่งข้อมูล API เป็นไปอย่างราบรื่น
- ฉันจะเพิ่มนโยบายไปยัง Edge Microgateway ได้ไหม
- หากคุณแนบนโยบาย Apigee Edge ปกติกับพร็อกซีที่รับรู้ถึง Microgateway ใน Apigee Edge ระบบจะไม่สนใจนโยบายเหล่านั้น แต่จะใช้ปลั๊กอินเพื่อมอบฟังก์ชันการทำงานที่คล้ายกับนโยบายใน Edge เช่น โควต้า การหยุดการเพิ่มขึ้นอย่างฉับพลัน การรักษาความปลอดภัยของคีย์ API และการรักษาความปลอดภัย OAuth2 คุณยังเขียนปลั๊กอินที่กำหนดเองได้ด้วย ดูหัวข้อใช้ปลั๊กอินและพัฒนาปลั๊กอินที่กำหนดเอง
โพสต์ชุมชนและบล็อก Apigee ต่อไปนี้พูดถึงกรณีการใช้งานปลั๊กอินเพิ่มเติม
ความปลอดภัย
- ฉันจะปกป้องทรัพยากร
/products
ได้อย่างไร - ภาพรวม
- เมื่อคุณกำหนดค่า Edge Microgateway พร็อกซี API ชื่อ
edgemicro-auth
จะใช้งานได้กับองค์กร:สภาพแวดล้อมใน Apigee Edge พร็อกซีนี้จะแสดงปลายทาง/products
ที่แสดงรายการผลิตภัณฑ์ API หากคุณติดตั้ง Edge Microgateway ในวันที่ 5 ตุลาคม 2018 หรือก่อนหน้านั้น Apigee ขอแนะนำให้คุณดำเนินการเพื่อปกป้องปลายทางนี้ เนื่องจากคำตอบมีอีเมลของนักพัฒนาแอปที่สร้างและแก้ไขผลิตภัณฑ์ API ในองค์กร Apigee - คุณสามารถปกป้องอุปกรณ์ปลายทางโดยการอัปเกรด Microgateway ของ Edge หรือกำหนดค่า Mutual TLS ตัวเลือกทั้ง 2 รายการนี้อธิบายไว้ด้านล่าง
- ตรวจสอบว่าปลายทางของ
/products
ได้รับการปกป้องหรือไม่ -
หากไม่แน่ใจว่าปลายทาง
/products
ได้รับการป้องกันหรือไม่ ให้ไปที่ส่วนยืนยันว่าทรัพยากร/products
ได้รับการป้องกัน แล้วทำตามขั้นตอนในส่วนนั้นก่อนดำเนินการต่อตัวเลือกที่ 1: อัปเกรด Edge Microgateway
หากคุณติดตั้ง Edge Microgateway ไว้ก่อนวันที่ 5 ตุลาคม 2018 Apigee ขอแนะนำให้คุณอัปเกรดเป็น Edge Microgateway เวอร์ชันล่าสุด ทำตามขั้นตอนในหัวข้อ การอัปเกรด Edge Microgateway หากคุณมีการเชื่อมต่ออินเทอร์เน็ต
หากอัปเกรดไม่ได้ในขณะนี้ ให้ไปที่ตัวเลือกที่ 2
ตัวเลือกที่ 2: กำหนดค่า Mutual TLS
หากอัปเกรด Edge Microgateway ไม่ได้ในขณะนี้ Apigee ขอแนะนําให้คุณปกป้องการสื่อสารระหว่าง Edge Microgateway กับพร็อกซี
edgemicro-auth
ด้วย TLS ร่วมกัน (หรือที่เรียกว่า TLS แบบ 2 ทาง)- เปิดไฟล์
$HOME/.edgemicro/org-env-config.yaml
โปรดดูที่ ติดตั้ง Edge Microgateway ที่ไหน หากไม่พบไฟล์นี้ - เพิ่มบล็อก
tlsOptions
ต่อไปนี้ลงในไฟล์org-env-config.yaml
เพื่อเปิดใช้ TLS ร่วมระหว่าง Edge Microgateway กับ Apigee Edgeedge_config: bootstrap: >- https://domain/edgemicro/bootstrap/organization/org/environment/env jwt_public_key: 'https://domain/edgemicro-auth/publicKey' managementUri: 'https://api.enterprise.apigee.com' tlsOptions: agentOptions: requestCert: true cert: 'path/to/cert' key: 'path/to/key'
เช่น
tlsOptions: agentOptions: requestCert: true cert: '/Users/jdoe/twowayssl/ssl/client.key' key: '/Users/jdoe/twowayssl/ssl/ca.crt'
นอกจากนี้ คุณยังรวมพารามิเตอร์
agentOptions
ที่ไม่บังคับต่อไปนี้ได้ด้วยca
: ระบุเส้นทางไปยังผู้ออกใบรับรองpfx
: ใส่ไว้หากต้องการใช้ไฟล์ p12/pfx แทนใบรับรองและคีย์passphrase
: รหัสผ่านสำหรับไฟล์ pfxciphers
: ระบุการเข้ารหัส TLS
- ตรวจสอบว่าโฮสต์เสมือนที่ติดตั้งใช้งาน
edgemicro-auth
Proxies ได้เปิดใช้ TLS ร่วม โปรดดูรายละเอียดที่หัวข้อการกําหนดโฮสต์เสมือนสําหรับ TLS แบบ 2 ทางในเอกสารประกอบของ Apigee Edgeภาพหน้าจอต่อไปนี้แสดงวิธีเปิดใช้ TLS ร่วมในโฮสต์เสมือนใน UI ของ Apigee Edge
- ดูที่พร็อกซี API ของ
edgemicro-auth
ใน Edge UI และตรวจสอบว่าได้ระบุโฮสต์เสมือนที่ถูกต้องในการกำหนดค่าพร็อกซีแล้ว ตัวอย่างเช่น หากคุณสร้างโฮสต์เสมือนที่เปิดใช้ TLS ชื่อmutualtls
บทHTTPProxyConnection
ของพร็อกซีควรมีลักษณะดังนี้<HTTPProxyConnection> <BasePath>/edgemicro-auth</BasePath> <Properties/> <VirtualHost>mutualtls</VirtualHost> </HTTPProxyConnection>
- เปิดไฟล์
/products
ได้รับการป้องกัน/products
แหล่งข้อมูลได้รับการปกป้องหรือไม่ คุณควรทำการทดสอบนี้หลังจากทำตามขั้นตอน (ตัวเลือกที่ 1 หรือ 2) เพื่อปกป้องทรัพยากร ซึ่งทำได้โดยใช้ cURL เช่น
curl -v https://your_domain/edgemicro-auth/products
/products
ได้รับการป้องกันแล้ว
{ "error":"unauthorized", "error_description": "authentication failed" }
หรือ
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
หากคุณเห็นการตอบกลับที่มีลักษณะเช่นนี้ แสดงว่า/products
ทรัพยากรไม่มีการป้องกัน และอีเมลของนักพัฒนาแอปอาจถูกเปิดเผย
{ "apiProduct":[ { "apiResources":[ "/", "/**" ], "approvalType":"auto", "attributes":[ ], "createdAt":1537374680948, "createdBy":"jdoe@foo.com", "description":"", "displayName":"mock", "environments":[ "test" ], "lastModifiedAt":1537374680948, "lastModifiedBy":"test@test.com", "name":"mock", "proxies":[ "edgemicro-auth", "edgemicro_mock" ], "quota":"null", "quotaInterval":"null", "quotaTimeUnit":"null", "scopes":[ "" ] } ] }
นอกจากนี้ Apigee ยังแนะนำให้คุณทดสอบโฮสต์เสมือน HTTP ด้วย โดยทำดังนี้
เช่น
curl -v http://your_domain/edgemicro-auth/products
หากการเรียก cURL แสดงรายการผลิตภัณฑ์ API อาจเป็นไปได้ว่าอีเมลของนักพัฒนาซอฟต์แวร์ถูกเปิดเผย หากไม่ต้องการเปิดเผยปลายทางด้วยโฮสต์เสมือนที่ไม่ใช่ TLS นี้ โปรดนําออกจากการกําหนดค่า edgemicro-auth
HTTPProxyConnection
หากต้องการปกป้องทรัพยากร ให้ทำตามตัวเลือกต่อไปนี้ข้อใดข้อหนึ่ง
ปัจจุบันคุณยังต่ออายุโทเค็น JWT สำหรับอินสแตนซ์ Edge Microgateway ที่ระบุไม่ได้
วิธีแก้ปัญหา:
โทเค็น JWT แต่ละรายการมีแอตทริบิวต์ exp ที่ระบุวันที่หมดอายุของโทเค็น แอปสามารถคํานวณเวลาหมดอายุและขอโทเค็นใหม่ได้โดยเรียกใช้ API ไปยังปลายทางโทเค็น edgemicro-auth
โดยตรง ตัวอย่างเช่น คุณสามารถเรียก API ดังนี้
POST https: //{your_org}-{your_env}.apigee.net/edgemicro-auth/token
... โดยมีเนื้อหา JSON ดังนี้
{ "client_id": {your_id}, "client_secret": {your_secret},
"grant_type": "client_credentials" }
และดู:
- ทำให้ API ปลอดภัยด้วยโทเค็น OAuth หรือคีย์ API ในเอกสาร Edge Microgateway
- กระบวนการต่ออายุโทเค็นของผู้ถือเมื่อหมดอายุในชุมชน Apigee
ปัจจุบันระบบจะตรวจสอบเฉพาะเส้นทางฐานเพื่อระบุว่า API ได้รับอนุมัติสำหรับผลิตภัณฑ์ API ที่เชื่อมโยงกับโทเค็น OAuth รายการใดรายการหนึ่งหรือไม่
เช่น
- คุณสร้างพร็อกซีที่มีคำนำหน้า
edgemicro_
ที่มีเส้นทางฐานและเป้าหมาย - คุณเพิ่มพร็อกซีนี้ลงในผลิตภัณฑ์ เราขอเรียกไฟล์นี้ว่า
edgemicro-prod1
- เมื่อมีการเรียก API ผ่าน Edge Microgateway โดยใช้คีย์ API หรือโทเค็น OAuth ทาง Edge Microgateway จะตรวจสอบว่าเส้นทางฐานของ API ตรงกับเส้นทางฐานของ
edgemicro_*
พร็อกซีที่ได้รับอนุมัติสำหรับรายการผลิตภัณฑ์ที่ได้รับอนุมัติสำหรับคีย์หรือโทเค็นนั้นหรือไม่
โปรดดู เมื่อใช้เกตเวย์ edgemicro ในผลิตภัณฑ์ URL ใดบ้างที่ต้องเพิ่มลงในรายการที่อนุญาตพิเศษในผลิตภัณฑ์ที่ใช้ภายใต้ทรัพยากรในชุมชน Apigee
ปัจจุบันระบบรองรับเฉพาะใบรับรอง SSL เริ่มต้นของ Apigee เท่านั้น ระบบยังไม่รองรับใบรับรอง SSL ที่กำหนดเองในขณะนี้
วิธีแก้ปัญหาเฉพาะหน้า:
หากต้องการใช้ใบรับรอง SSL ที่กำหนดเอง (ค่าเริ่มต้นที่ไม่ใช่ Apigee) คุณมีตัวเลือกต่อไปนี้
-
ใช้ปลายทาง
jwt_public_key
ที่ไม่ใช่ SSL แก้ไขไฟล์การกําหนดค่า Edge Microgateway เพื่อใช้http://{org}-{env}.apigee.net/edgemicro-auth/publicKey
-หรือ- -
ก่อนเริ่ม Edge Microgateway ให้ตั้งค่าตัวแปรสภาพแวดล้อมนี้: export
NODE_TLS_REJECT_UNAUTHORIZED ="0"
โปรดดูหัวข้อ ยืนยันข้อผิดพลาดในการติดตั้ง Edge Micro ในใบรับรอง SSL ในชุมชน Apigee ด้วย
edgemicro-auth
ใช้งานได้กับ Edge และการทำให้ใช้งานได้นี้ต้องใช้ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบองค์กรคุณใช้โทเค็นของคุณเองได้ แต่ก่อนอื่นคุณต้องปิดการให้สิทธิ์ในตัวสําหรับ Edge Microgateway หากต้องการทำสิ่งต่อไปนี้
- เปิดไฟล์การกำหนดค่าสำหรับ Edge Microgateway
-
เปลี่ยนการตั้งค่า OAuth ทั้ง 2 รายการให้เป็น "จริง" ดังนี้
oauth: allowNoAuthorization: true allowInvalidAuthorization: true
edgemicro start -o [org] -e [env] -k [key] -s [secret]
การทดสอบและการแก้ไขข้อบกพร่อง
- ฉันจะป้องกันข้อผิดพลาด "เปิดไฟล์มากเกินไป" ในระหว่างการทดสอบการโหลดได้อย่างไร
-
ในบางกรณี ระบบอาจพบปัญหาการเชื่อมต่อไฟล์ที่เปิดอยู่มากเกินไป ซึ่งอาจทำให้ Edge Micro ขัดข้อง การบันทึกเริ่มต้นต้องใช้การเชื่อมต่อ HTTP 2 รายการสําหรับธุรกรรมขาเข้าและขาออกผ่าน Microgateway
Apigee จะแนะนำให้ตั้งค่าคำสั่ง ulimit ของระบบเป็นไม่จำกัด:
ulimit -n unlimited
เพื่อวัตถุประสงค์ในการทดสอบและการเปรียบเทียบ โปรดดูหัวข้อข้อผิดพลาดของ Edge ขณะทำการทดสอบการโหลด Microgateway ในชุมชน Apigee ด้วย - เคล็ดลับสำหรับการพัฒนาและการแก้ไขข้อบกพร่องอย่างรวดเร็ว
-
หากคุณกำลังพัฒนาปลั๊กอินสําหรับ Edge Microgateway คุณอาจพบว่าการรองรับการพัฒนาอย่างรวดเร็วมีจํากัด
ในระหว่างนี้ โปรดดูเคล็ดลับต่อไปนี้
- หากต้องการเริ่ม Microgateway ของ Edge คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม EDGEMICRO_KEY และ EDGEMICRO_SECRET เป็นคู่คีย์/ข้อมูลลับที่จําเป็นสําหรับคําสั่งการเริ่มต้น Microgateway ซึ่งจะช่วยให้คุณเริ่ม Edge Microgateway ได้โดยไม่ต้องป้อนคีย์/ข้อมูลลับในบรรทัดคำสั่ง โปรดดู การกําหนดตัวแปรสภาพแวดล้อมในเอกสารของ Edge Microgateway ด้วย
-
เริ่ม Edge Microgateway ในโหมดแก้ไขข้อบกพร่องเพื่อดูเอาต์พุตเพิ่มเติมในเทอร์มินัลคำสั่ง
DEBUG=* edgemicro start -o [org] -e [env] -k [key] -s [secret]
ธุรกิจและการออกใบอนุญาต
- โมเดลการรองรับ Apigee-127 และ Edge Microgateway เกี่ยวข้องกันอย่างไร
-
Apigee-127 เป็นโปรเจ็กต์ซอฟต์แวร์โอเพนซอร์สที่รองรับในโมเดลโอเพนซอร์ส กล่าวคือ คุณสามารถแจ้งปัญหาในโปรเจ็กต์ GitHub และส่งคำขอดึงข้อมูลได้หากต้องการแก้ไขปัญหา Apigee-127 ไม่ได้กำหนดหรือรวมข้อตกลงการอนุญาตให้ใช้ซอฟต์แวร์กับ Apigee
ส่วน Edge Microgateway เป็นผลิตภัณฑ์ Enterprise ที่ Apigee รองรับสำหรับลูกค้า Apigee กล่าวคือ ลูกค้า Apigee จะสร้างคำขอแจ้งปัญหา คำขอฟีเจอร์ และรายงานข้อบกพร่องได้โดยใช้การสนับสนุน Apigee Edge ของ Google Cloud