วิธีกําหนดค่า Edge

Edge for Private Cloud v4.18.05

หากต้องการกำหนดค่า Edge หลังจากการติดตั้ง คุณจะใช้ไฟล์ .properties ร่วมกับยูทิลิตีของ Edge เช่น หากต้องการกำหนดค่า TLS/SSL ใน Edge UI คุณจะต้องแก้ไขไฟล์ .properties เพื่อตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น การเปลี่ยนแปลงไฟล์ .properties จะทำให้คุณต้องรีสตาร์ทคอมโพเนนต์ Edge ที่ได้รับผลกระทบ

Apigee เรียกเทคนิคการแก้ไขไฟล์ .properties ว่าโค้ดที่มีการกำหนดค่า โดยพื้นฐานแล้ว โค้ดที่มี config คือเครื่องมือค้นหาคีย์/ค่าตามการตั้งค่าในไฟล์ .properties ในโค้ดที่มีการกำหนดค่า คีย์จะเรียกว่าโทเค็น ดังนั้น หากต้องการกำหนดค่า Edge คุณจะต้องตั้งค่าโทเค็นในไฟล์ .properties

โค้ดที่มีการกำหนดค่าช่วยให้คอมโพเนนต์ Edge ตั้งค่าเริ่มต้นที่มาพร้อมกับผลิตภัณฑ์ได้ ช่วยให้ทีมติดตั้งลบล้างการตั้งค่าเหล่านั้นตามโทโปโลยีการติดตั้งได้ และช่วยให้ลูกค้าลบล้างพร็อพเพอร์ตี้ที่เลือกได้

หากคุณคิดว่าเป็นลำดับชั้น การตั้งค่าจะจัดเรียงดังนี้ตามการตั้งค่าของลูกค้าที่มีลำดับความสำคัญสูงสุดเพื่อลบล้างการตั้งค่าจากทีมโปรแกรมติดตั้งหรือ Apigee

  1. ลูกค้า
  2. ผู้ติดตั้ง
  3. Apigee

วิธีใช้ไฟล์ .properties

ในฐานะลูกค้า คุณจะแก้ไขได้เฉพาะไฟล์ .properties ในไดเรกทอรี /opt/apigee/customer/application คอมโพเนนต์แต่ละรายการจะมีไฟล์ .properties ของตัวเองในไดเรกทอรีนั้น เช่น router.properties และ management-server.properties

เช่น หากต้องการสร้างไฟล์ .properties ให้ทำดังนี้

  1. สร้างไฟล์ในเครื่องมือแก้ไขในฐานะผู้ใช้ใดก็ได้
  2. ใช้ chown เพื่อเปลี่ยนเจ้าของไฟล์เป็น "apigee:apigee" หรือหากคุณเปลี่ยนผู้ใช้ที่เรียกใช้บริการ Edge จากผู้ใช้ "apigee" ให้ใช้ chown กับไฟล์เพื่อเปลี่ยนเจ้าของเป็นผู้ใช้ที่เรียกใช้บริการ Edge

หากต้องการตั้งค่าพร็อพเพอร์ตี้ของคอมโพเนนต์ ให้แก้ไขไฟล์ .properties ที่เกี่ยวข้องเพื่อตั้งค่าโทเค็น จากนั้นรีสตาร์ทคอมโพเนนต์

/opt/apigee/apigee-service/bin/apigee-service component restart

ตัวอย่างเช่น หลังจากแก้ไข router.properties ให้รีสตาร์ทเราเตอร์โดยทำดังนี้

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

เมื่อคุณอัปเกรด Edge ระบบจะอ่านไฟล์ .properties ในไดเรกทอรี /opt/apigee/customer/application ซึ่งหมายความว่าการอัปเกรดจะเก็บรักษาพร็อพเพอร์ตี้ที่คุณตั้งค่าไว้ในคอมโพเนนต์

ตำแหน่งของไฟล์ .properties

ไดเรกทอรีระดับบนสุดสำหรับไฟล์ .properties ของคอมโพเนนต์ Edge มี 3 ไดเรกทอรี ได้แก่ การติดตั้ง เจ้าของ และลูกค้า ตำแหน่งเริ่มต้นจะแสดงในตารางต่อไปนี้

เจ้าของ ไดเรกทอรีรูทของโทเค็นเริ่มต้น
ส่วนประกอบ
/opt/apigee/component_name/conf

ตำแหน่งที่ component_name ระบุคอมโพเนนต์ ค่าที่เป็นไปได้มีดังนี้

  • apigee-cassandra (คาสซานดรา)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (ฐานข้อมูล PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (SSO ของ Edge)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (เซิร์ฟเวอร์การจัดการ)
  • edge-management-ui (UI ใหม่ของ Edge)
  • edge-message-processor (ตัวประมวลผลข้อความ)
  • edge-postgres-server (เซิร์ฟเวอร์ Postgres)
  • edge-qpid-server (เซิร์ฟเวอร์ Qpid)
  • edge-router (เราเตอร์ Edge)
  • edge-ui (UI แบบคลาสสิก)
การติดตั้ง
/opt/apigee/token
ลูกค้า
/opt/apigee/customer

ระบุค่าปัจจุบันของโทเค็น

ก่อนตั้งค่าโทเค็นในไฟล์ .properties สําหรับคอมโพเนนต์ ให้ตรวจสอบค่าปัจจุบันก่อนโดยใช้คําสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

โดยที่ component_name คือชื่อของคอมโพเนนต์ และ token คือโทเค็นที่จะตรวจสอบ

คำสั่งนี้จะค้นหาลําดับชั้นของไฟล์ .properties เพื่อระบุค่าปัจจุบันของโทเค็น

ตัวอย่างเช่น หากต้องการตรวจสอบค่าปัจจุบันของโทเค็น conf_http_HTTPRequest.line.limit สำหรับเราเตอร์ ให้ทำดังนี้

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

คุณควรเห็นผลลัพธ์ในแบบฟอร์ม:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

ตั้งค่าโทเค็นในไฟล์ .properties

วิธีลบล้างค่าของโทเค็น

  1. แก้ไขไฟล์ .properties ของคอมโพเนนต์เพื่อตั้งค่าโทเค็น หากไม่มีไฟล์ดังกล่าว ให้สร้างไฟล์
  2. รีสตาร์ทคอมโพเนนต์
  3. ตรวจสอบค่าโทเค็น

เช่น หากต้องการกำหนดขีดจำกัดบรรทัดคำขอสำหรับ Edge Router ให้ทำดังนี้

  1. แก้ไขไฟล์ /opt/apigee/customer/application/router.properties เพื่อตั้งค่า โทเค็น conf_http_HTTPRequest.line.limit โดยทำดังนี้
    conf_http_HTTPRequest.line.limit=8k
  2. รีสตาร์ท Edge Router โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. ตรวจสอบค่าของโทเค็นดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

ตั้งค่าโทเค็นที่มีหลายค่า

โทเค็นบางรายการจะใช้รายการค่าที่คั่นด้วยคอมมา ตัวอย่างเช่น โทเค็น conf_security_rbac.restricted.resources จะนํารายการ URI ที่จํากัดเพื่อให้มีเพียงผู้ดูแลระบบเท่านั้นที่เรียกใช้รายการเหล่านั้นได้ วิธีดูค่าของ conf_security_rbac.restricted.resources

cd /opt/apigee/edge-management-server
grep -ri "conf_security_rbac.restricted.resources" *

เอาต์พุตประกอบด้วยข้อมูลต่อไปนี้

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

หากต้องการตั้งค่าโทเค็นที่ใช้รายการค่า ให้เพิ่มค่าใหม่ต่อท้ายค่าปัจจุบันของโทเค็นในไฟล์ .properties ดังนั้น หากต้องการเพิ่ม URI /myuri/* ไปยัง conf_security_rbac.restricted.resources ให้แก้ไขไฟล์ /opt/apigee/customer/application/management-server.properties ดังที่แสดงด้านล่าง

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

ค้นหาโทเค็น

ในกรณีส่วนใหญ่ โทเค็นที่คุณต้องตั้งค่าจะระบุไว้ในคู่มือนี้ แต่หากต้องการระบุโทเค็นที่ใช้ในการลบล้างพร็อพเพอร์ตี้ ให้ใช้ grep ในโฟลเดอร์ source ของคอมโพเนนต์

ตัวอย่างเช่น หากคุณทราบว่าใน Edge เวอร์ชันก่อนหน้าคุณได้ตั้งค่าพร็อพเพอร์ตี้ session.maxAge ไว้และต้องการทราบค่าโทเค็นที่ใช้ตั้งค่า ให้ป้อน grep สำหรับพร็อพเพอร์ตี้ในไดเรกทอรี /opt/apigee/edge-ui/source

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

คุณควรเห็นผลลัพธ์ในรูปแบบต่อไปนี้

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

สตริงระหว่างแท็ก {T}{/T} คือโทเค็นที่คุณตั้งค่าไว้ในไฟล์ .properties

ตั้งค่าโทเค็นที่คอมเมนต์ออกอยู่

โทเค็นบางรายการจะมีการแสดงความคิดเห็นในไฟล์การกำหนดค่า Edge หากคุณพยายามตั้งค่าโทเค็นที่มีการยกเลิกการคอมเมนต์ไว้ ระบบจะไม่สนใจการตั้งค่านั้น

หากต้องการตั้งค่าโทเค็นที่ยกเลิกการคอมเมนต์ ให้ใช้ไวยากรณ์พิเศษในรูปแบบต่อไปนี้

conf/file.extension+propertyName=propertyValue

ตัวอย่างเช่น คุณต้องการตั้งค่าพร็อพเพอร์ตี้ชื่อ HTTPClient.proxy.host ใน Message Processor จากนั้นgrepพร็อพเพอร์ตี้เพื่อระบุโทเค็นของพร็อพเพอร์ตี้ ดังนี้

cd /opt/apigee/edge-message-processor
grep -ri "HTTPClient.proxy.host" *

คำสั่ง grep จะแสดงผลลัพธ์ในรูปแบบที่มีค่าโทเค็น โปรดสังเกตว่าชื่อพร็อพเพอร์ตี้ถูกยกเลิกการคอมเมนต์ไว้ ดังที่ระบุไว้ด้วยคำนำหน้า # ในชื่อพร็อพเพอร์ตี้

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

หากต้องการตั้งค่าพร็อพเพอร์ตี้ ให้แก้ไข /opt/apigee/customer/application/message-processor.properties เพื่อตั้งค่าพร็อพเพอร์ตี้ดังนี้

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

โปรดสังเกตว่าชื่อพร็อพเพอร์ตี้มี conf/http.properties+ นำหน้า ตำแหน่ง และชื่อของไฟล์การกําหนดค่าที่มีพร็อพเพอร์ตี้ตามด้วย "+"

หลังจากรีสตาร์ทโปรแกรมประมวลผลข้อความแล้ว ให้ตรวจสอบไฟล์ /opt/apigee/edge-message-processor/conf/http.properties ดังนี้

cat /opt/apigee/edge-message-processor/conf/http.properties

คุณจะเห็นชุดพร็อพเพอร์ตี้ในตอนท้ายของไฟล์ในรูปแบบ

conf/http.properties:HTTPClient.proxy.host=myhost.name.com