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

Edge for Private Cloud phiên bản 4.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. Khi thay đổi tệp .properties, bạn cần khởi động lại thành phần Edge bị ảnh hưởng.

Apigee gọi kỹ thuật chỉnh sửa tệp .properties là mã 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 chế độ cài đặt trong các 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 các tệp .properties.

Mã có cấu hình cho phép các thành phần Edge đặt giá trị mặc định được cung cấp 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 đè bất kỳ thuộc tính nào họ chọn.

Nếu bạn coi đây 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 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 đều có tệp .properties riêng trong thư mục đó. Ví dụ: router.properties và management-server.properties.

Ví dụ: để tạo tệp .properties, hãy làm như sau:

  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 chuyển 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 Bộ đị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ó 3 thư mục cấp cao nhất cho các tệp .properties của các thành phần Edge: cài đặt, chủ sở hữu và khách hàng. 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

Trong đó, 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 Bộ định tuyến, hãy làm như sau:

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

Bạn sẽ thấy kết quả ở dạng:

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 không tồn tại, hãy tạo tệp.
  2. Khởi động lại thành phần.
  3. Hãy 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 biên, hãy làm như sau:

  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 Bộ định tuyến biên:
    /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 thông tin sau:

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

Để đặt mã thông báo nhận danh sách giá trị, hãy thêm mọi giá trị mới 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 được xác định trong hướng dẫn này. Tuy nhiên, nếu 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 bạn biết rằng trong một bản phát hành trước của Edge, bạn đã đặt thuộc tính session.maxAge và muốn biết giá trị mã thông báo dùng để đặt thuộc tính đó, thì 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ả ở dạng:

/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 hiện được đánh dấu là nội dung nhận xét

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

Để đặt mã thông báo được đánh dấu là nội dung nhận xét, 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 Bộ xử lý thông báo. Sau đó, bạn grep cho tài sản để xác định mã thông báo của tài sản:

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 đánh dấu là nội dung nhận xét, như được biểu thị 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, hãy chỉnh sửa /opt/apigee/customer/application/message-processor.properties để đặt thuộc tính thành:

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

Lưu ý cách tên thuộc tính được thêm tiền tố 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 Bộ 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

Ở cuối tệp, bạn sẽ thấy tập hợp thuộc tính, ở dạng:

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