Cách định cấu hình Edge

Edge for Private Cloud v4.18.05

Để định cấu hình Edge sau khi cài đặt, bạn sử dụng kết hợp các tệp .properties và tiện ích Edge. Ví dụ: để định cấu hình TLS/SSL trên giao diện người dùng Edge, bạn chỉnh sửa các tệp .properties để đặt các thuộc tính cần thiết. Bạn cần khởi động lại thành phần Edge bị ảnh hưởng khi thay đổi các tệp .properties.

Apigee gọi kỹ thuật chỉnh sửa tệp .propertiesmã có cấu hình. Về cơ bản, mã có cấu hình là một công cụ tra cứu khoá/giá trị dựa trên các chế độ cài đặt trong tệp .properties. Trong mã có cấu hình, các khoá được gọi là mã thông báo. Do đó, để định cấu hình Edge, bạn cần đặt mã thông báo trong tệp .properties.

Mã có cấu hình cho phép các thành phần của Edge đặt giá trị mặc định được vận chuyển cùng với sản phẩm, cho phép nhóm cài đặt ghi đè các chế độ cài đặt đó dựa trên cấu trúc liên kết cài đặt, sau đó cho phép khách hàng ghi đè mọi thuộc tính mà họ chọn.

Nếu bạn coi đó là một hệ phân cấp, thì các chế độ cài đặt sẽ được sắp xếp như sau, trong đó chế độ cài đặt của khách hàng có mức độ ưu tiên cao nhất để ghi đè mọi chế độ cài đặt của nhóm trình cài đặt hoặc Apigee:

  1. Khách hàng
  2. Trình cài đặt
  3. Apigee

Cách sử dụng tệp .properties

Là khách hàng, bạn chỉ có thể sửa đổi các tệp .properties trong thư mục /opt/apigee/customer/application. Mỗi thành phần có một tệp .properties riêng trong thư mục đó. Ví dụ: router.propertiesmanagement-server.properties.

Ví dụ: để tạo tệp .properties:

  1. Tạo tệp trong trình chỉnh sửa với tư cách là người dùng bất kỳ.
  2. Sử dụng chown để thay đổi chủ sở hữu của tệp thành "apigee:apigee" hoặc nếu bạn đã thay đổi người dùng đang chạy dịch vụ Edge từ người dùng "apigee", hãy chown tệp cho người dùng đang chạy dịch vụ Edge.

Để đặt thuộc tính cho một thành phần, hãy chỉnh sửa tệp .properties tương ứng để đặt mã thông báo, sau đó khởi động lại thành phần:

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

Ví dụ: sau khi chỉnh sửa router.properties, hãy khởi động lại Trình định tuyến:

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

Khi bạn nâng cấp Edge, các tệp .properties trong thư mục /opt/apigee/customer/application sẽ được đọc. Điều đó có nghĩa là quá trình nâng cấp sẽ giữ lại mọi thuộc tính mà bạn đặt trên thành phần.

Vị trí của tệp .properties

Có ba thư mục cấp cao nhất cho các tệp .properties dành cho các thành phần Edge: cài đặt, chủ sở hữu và khách hàng. Các vị trí mặc định được trình bày trong bảng sau:

Chủ sở hữu Thư mục gốc của mã thông báo mặc định
Thành phần
/opt/apigee/component_name/conf

Trường hợp component_name xác định thành phần. Các giá trị có thể là:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (Cơ sở dữ liệu PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Máy chủ quản lý)
  • edge-management-ui (Giao diện người dùng Edge mới)
  • edge-message-processor (Bộ xử lý thông báo)
  • edge-postgres-server (Máy chủ Postgres)
  • edge-qpid-server (Máy chủ Qid)
  • edge-router (Bộ định tuyến Edge)
  • edge-ui (Giao diện người dùng cổ điển)
Cài đặt
/opt/apigee/token
Khách hàng
/opt/apigee/customer

Xác định giá trị hiện tại của mã thông báo

Trước khi đặt mã thông báo trong tệp .properties cho thành phần, trước tiên, bạn có thể xác định giá trị hiện tại của mã thông báo đó bằng cách sử dụng lệnh sau:

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

Trong đó component_name là tên của thành phần và token là mã thông báo cần kiểm tra.

Lệnh này tìm kiếm hệ phân cấp của các tệp .properties để xác định giá trị hiện tại của mã thông báo.

Ví dụ: để kiểm tra giá trị hiện tại của mã thông báo conf_http_HTTPRequest.line.limit cho Trình định tuyến:

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

Bạn sẽ thấy kết quả trong biểu mẫu:

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

Đặt mã thông báo trong tệp .properties

Cách ghi đè giá trị của mã thông báo:

  1. Chỉnh sửa tệp .properties cho thành phần để đặt giá trị mã thông báo. Nếu tệp chưa tồn tại, hãy tạo tệp đó.
  2. Khởi động lại thành phần.
  3. Kiểm tra giá trị mã thông báo.

Ví dụ: để đặt giới hạn dòng yêu cầu cho Bộ định tuyến cạnh:

  1. Chỉnh sửa tệp /opt/apigee/customer/application/router.properties để đặt mã thông báo conf_http_HTTPRequest.line.limit:
    conf_http_HTTPRequest.line.limit=8k
  2. Khởi động lại Edge Router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. Kiểm tra giá trị của mã thông báo:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Đặt mã thông báo nhận nhiều giá trị

Một số mã thông báo nhận danh sách giá trị được phân tách bằng dấu phẩy. Ví dụ: mã thông báo conf_security_rbac.restricted.resources lấy danh sách các URI bị hạn chế để chỉ quản trị viên hệ thống mới có thể gọi các URI đó. Cách xem giá trị của conf_security_rbac.restricted.resources:

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

Kết quả chứa những nội dung sau:

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

Để đặt một mã thông báo nhận danh sách giá trị, hãy thêm bất kỳ giá trị mới nào vào giá trị hiện tại của mã thông báo trong tệp .properties. Do đó, để thêm URI /myuri/* vào conf_security_rbac.restricted.resources, hãy chỉnh sửa tệp /opt/apigee/customer/application/management-server.properties như minh hoạ dưới đây:

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

Tìm mã thông báo

Trong hầu hết các trường hợp, mã thông báo bạn cần đặt đều được xác định trong hướng dẫn này. Tuy nhiên, nếu bạn cần xác định mã thông báo dùng để ghi đè một thuộc tính, hãy thực hiện grep trong thư mục source của thành phần.

Ví dụ: nếu biết rằng trong một bản phát hành Edge trước, bạn đã đặt thuộc tính session.maxAge và muốn biết giá trị mã thông báo được dùng để đặt thuộc tính đó, hãy grep cho thuộc tính trong thư mục /opt/apigee/edge-ui/source:

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

Bạn sẽ thấy kết quả trong biểu mẫu:

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

Chuỗi giữa các thẻ {T}{/T} là mã thông báo mà bạn đặt trong tệp .properties.

Đặt một mã thông báo đang được nhận xét

Một số mã thông báo được nhận xét trong tệp cấu hình Edge. Nếu bạn cố đặt một mã thông báo bị nhận xét, thì chế độ cài đặt này sẽ bị bỏ qua.

Để đặt một mã thông báo được chú thích, bạn sử dụng cú pháp đặc biệt, ở dạng:

conf/file.extension+propertyName=propertyValue

Ví dụ: bạn muốn đặt thuộc tính có tên HTTPClient.proxy.host trên Trình xử lý thông báo. Sau đó, bạn grep cho thuộc tính để xác định mã thông báo của thuộc tính đó:

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

Lệnh grep trả về kết quả ở dạng bao gồm giá trị mã thông báo. Hãy lưu ý cách tên thuộc tính được chú thích, như được chỉ định bằng tiền tố # trên tên thuộc tính:

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=

Để đặt thuộc tính này, hãy chỉnh sửa /opt/apigee/customer/application/message-processor.properties để đặt thuộc tính này thành:

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

Hãy lưu ý cách tiền tố tên thuộc tính là conf/http.properties+, vị trí và tên của tệp cấu hình chứa thuộc tính theo sau là dấu "+".

Sau khi bạn khởi động lại Trình xử lý thông báo, hãy kiểm tra tệp /opt/apigee/edge-message-processor/conf/http.properties:

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

Vào cuối tệp, bạn sẽ thấy thuộc tính được đặt, trong biểu mẫu:

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