พร็อกซีส่งต่อเป็นจุดเดียวที่เครื่องหลายเครื่องใช้ส่งคำขอไปยังเซิร์ฟเวอร์ภายนอก โดยสามารถบังคับใช้นโยบายความปลอดภัย บันทึกและวิเคราะห์คำขอ และดำเนินการอื่นๆ เพื่อให้คำขอเป็นไปตามกฎทางธุรกิจของคุณ เมื่อใช้ Edge โดยทั่วไปแล้วฟอร์เวิร์ดพร็อกซีจะทำหน้าที่เป็นตัวกลางระหว่างพร็อกซี API กับ TargetEndpoint ภายนอก (เซิร์ฟเวอร์เป้าหมายแบ็กเอนด์)
หากต้องการใช้พร็อกซีส่งต่อ HTTP ระหว่าง Edge กับ TargetEndpoint คุณต้องกำหนดค่าการตั้งค่าพร็อกซีขาออกใน Message Processor (MP) พร็อพเพอร์ตี้เหล่านี้จะกำหนดค่า MP ให้กำหนดเส้นทางคำขอเป้าหมายจาก Edge ไปยังพร็อกซีส่งต่อ HTTP
วิธีกำหนดค่า MP สำหรับการส่งต่อพร็อกซี
- ใน MP ให้แก้ไขไฟล์ต่อไปนี้
/opt/apigee/customer/application/message-processor.properties
หากไม่มีไฟล์
message-processor.propertiesให้สร้างขึ้นมา - แก้ไขไฟล์เพื่อตั้งค่าพร็อพเพอร์ตี้ที่เกี่ยวข้องกับพร็อกซีตามที่อธิบายไว้ในตารางด้านล่าง
- ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee" โดยทำดังนี้
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- บันทึกการเปลี่ยนแปลงเป็นไฟล์พร็อพเพอร์ตี้
- รีสตาร์ท MP ดังตัวอย่างต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้ในไฟล์ message-processor.properties ที่คุณใช้เพื่อกำหนดค่า MP สำหรับการส่งต่อพร็อกซีไปยังเซิร์ฟเวอร์แบ็กเอนด์
| พร็อพเพอร์ตี้ | คำอธิบาย |
|---|---|
conf_http_HTTPClient.use.proxy |
อนุญาตให้ใช้พร็อกซีส่งต่อ ค่าเริ่มต้นคือ หากตั้งค่านี้เป็น |
conf_http_HTTPClient.use.tunneling |
โดยค่าเริ่มต้น Edge จะใช้การทันเนลสำหรับการเข้าชมทั้งหมด หากต้องการปิดใช้การทันเนลโดยค่าเริ่มต้น ให้ตั้งค่าพร็อพเพอร์ตี้นี้เป็น "false" |
use.proxy.host.header.with.target.uri |
ตั้งค่าโฮสต์และพอร์ตเป้าหมายเป็นส่วนหัว
<HTTPTargetConnection>
<Properties>
<Property name="use.proxy.host.
header.with.target.uri">true
</Property>
</Properties>
<URL>https://mocktarget.apigee.net/
my-target</URL>
</HTTPTargetConnection> |
conf/http.properties+HTTPClient.proxy.type |
ระบุประเภทของพร็อกซี HTTP เป็น HTTP หรือ HTTPS โดยค่าเริ่มต้น ระบบจะใช้ "HTTP" |
conf/http.properties+HTTPClient.proxy.host |
ระบุชื่อโฮสต์หรือที่อยู่ IP ที่พร็อกซี HTTP ทำงานอยู่ |
conf/http.properties+HTTPClient.proxy.port |
ระบุพอร์ตที่พร็อกซี HTTP ทำงานอยู่ หากละเว้นพร็อพเพอร์ตี้นี้ โดยค่าเริ่มต้น ระบบจะใช้พอร์ต 80 สำหรับ HTTP และพอร์ต 443 สำหรับ HTTPS |
conf/http.properties+HTTPClient.proxy.user conf/http.properties+HTTPClient.proxy.password |
หากพร็อกซี HTTP ต้องใช้การตรวจสอบสิทธิ์ขั้นพื้นฐาน ให้ใช้พร็อพเพอร์ตี้เหล่านี้เพื่อระบุรายละเอียดการให้สิทธิ์ |
เช่น
conf_http_HTTPClient.use.proxy=true conf_http_HTTPClient.use.tunneling=false conf/http.properties+HTTPClient.proxy.type=HTTP conf/http.properties+HTTPClient.proxy.host=my.host.com conf/http.properties+HTTPClient.proxy.port=3128 conf/http.properties+HTTPClient.proxy.user=USERNAME conf/http.properties+HTTPClient.proxy.password=PASSWORD
หากมีการกำหนดค่าพร็อกซีการส่งต่อสำหรับ MP การรับส่งข้อมูลทั้งหมดที่ส่งจากพร็อกซี API ไปยังเป้าหมายแบ็กเอนด์จะผ่านพร็อกซีการส่งต่อ HTTP ที่ระบุ หากการเข้าชมสำหรับเป้าหมายที่เฉพาะเจาะจงของพร็อกซี API ควรไปยังเป้าหมายแบ็กเอนด์โดยตรง โดยข้ามพร็อกซีส่งต่อ ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ใน TargetEndpoint เพื่อลบล้างพร็อกซีส่งต่อ HTTP
<Property name="use.proxy">false</Property>
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้ TargetEndpoint รวมถึงวิธีกำหนดค่าการเชื่อมต่อกับปลายทางเป้าหมายได้ที่ข้อมูลอ้างอิงพร็อพเพอร์ตี้ปลายทาง
หากต้องการปิดใช้พร็อกซีแบบส่งต่อสำหรับเป้าหมายทั้งหมดโดยค่าเริ่มต้น ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์ message-processor.properties
conf_http_HTTPClient.use.proxy=false
จากนั้นตั้งค่า use.proxy เป็น "true" สำหรับ TargetEndpoint ที่คุณต้องการให้ผ่านพร็อกซีส่งต่อ HTTP ดังนี้
<Property name="use.proxy">true</Property>
โดยค่าเริ่มต้น Edge จะใช้การทันเนลสำหรับการรับส่งข้อมูลไปยังพร็อกซี หากต้องการปิดใช้การทันเนลโดยค่าเริ่มต้น ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์ message-processor.properties
conf_http_HTTPClient.use.tunneling=false
หากต้องการปิดใช้การทำทันเนลสำหรับเป้าหมายที่เฉพาะเจาะจง ให้ตั้งค่าพร็อพเพอร์ตี้ use.proxy.tunneling ใน TargetEndpoint หากเป้าหมายใช้ TLS/SSL ระบบจะไม่สนใจพร็อพเพอร์ตี้นี้ และจะส่งข้อความผ่านทันเนลเสมอ
<Property name="use.proxy.tunneling">false</Property>
หากต้องการให้ Edge ทำหน้าที่เป็นพร็อกซีส่งต่อ ซึ่งจะรับคำขอจากบริการแบ็กเอนด์และกำหนดเส้นทางไปยังอินเทอร์เน็ตภายนอกองค์กร ให้ตั้งค่าพร็อกซี API ใน Edge ก่อน จากนั้นบริการแบ็กเอนด์จะส่งคำขอไปยังพร็อกซี API ซึ่งจะเชื่อมต่อกับบริการภายนอกได้