พร็อกซีแบบส่งต่อจะมีจุดเดียวซึ่งเครื่องหลายเครื่องส่งคำขอไปยัง เซิร์ฟเวอร์ภายนอก สามารถบังคับใช้นโยบายการรักษาความปลอดภัย บันทึกและวิเคราะห์คำขอ และดำเนินการอื่นๆ เพื่อให้คำขอเป็นไปตามกฎของธุรกิจ เมื่อใช้ 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 จะใช้ Tunnel สำหรับการรับส่งข้อมูลทั้งหมด หากต้องการปิดใช้ Tunnel โดยค่าเริ่มต้น ให้ตั้งคุณสมบัตินี้เป็น "เท็จ" |
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
เป็น "จริง" สำหรับ TargetEndpoint ที่คุณต้องการตรวจสอบ
พร็อกซีการส่งต่อ HTTP ดังนี้
<Property name="use.proxy">true</Property>
โดยค่าเริ่มต้น Edge จะใช้ Tunnel สำหรับการรับส่งข้อมูลไปยังพร็อกซี หากต้องการปิดใช้ Tunnel โดยค่าเริ่มต้น
ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์ message-processor.properties
conf_http_HTTPClient.use.tunneling=false
หากต้องการปิดใช้ Tunnel สำหรับเป้าหมายที่เจาะจง ให้ตั้งค่า
พร็อพเพอร์ตี้ use.proxy.tunneling
ใน TargetEndpoint หากเป้าหมายใช้ TLS/SSL
คุณสมบัตินี้จะถูกละเว้น และระบบจะส่งข้อความผ่านอุโมงค์ข้อมูลเสมอ
<Property name="use.proxy.tunneling">false</Property>
เพื่อให้ Edge ทำหน้าที่เป็นพร็อกซีการส่งต่อ โดยจะรับคำขอจากบริการแบ็กเอนด์และ โดยจะกำหนดเส้นทางไปยังอินเทอร์เน็ตภายนอกองค์กร ก่อนอื่นให้ตั้งค่าพร็อกซี API ใน Edge บริการแบ็กเอนด์สามารถสร้างคำขอไปยังพร็อกซี API ซึ่งจากนั้นสามารถเชื่อมต่อกับภายนอก บริการต่างๆ