Các vấn đề đã biết với Apigee

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Các phần sau đây mô tả các vấn đề đã biết với Apigee. Trong hầu hết các trường hợp, các vấn đề đã nêu sẽ được khắc phục ở bản phát hành sau này.

Các vấn đề đã biết khác của Edge

Các phần sau đây mô tả các vấn đề khác đã biết với Edge.

Khu vực Vấn đề đã biết
Bộ nhớ đệm hết hạn dẫn đến giá trị cachehit không chính xác

Khi biến luồng cachehit được sử dụng sau chính sách LookupCache, do cách các điểm gỡ lỗi được gửi đi cho hành vi không đồng bộ, nên LookupPolicy sẽ điền đối tượng DebugInfo trước khi lệnh gọi lại được thực thi, dẫn đến lỗi.

Giải pháp: Lặp lại quy trình (thực hiện cuộc gọi thứ hai) ngay sau cuộc gọi đầu tiên.

Việc đặt chính sách InvalidateCache PurgeChildEntries thành true không hoạt động đúng cách

Việc đặt PurgeChildEntries trong chính sách InvalidateCache sẽ chỉ xoá hoàn toàn các giá trị phần tử KeyFragment nhưng sẽ xoá toàn bộ bộ nhớ đệm.

Giải pháp: Sử dụng chính sách KeyValueMapOperations để lặp lại phiên bản bộ nhớ đệm và bỏ qua nhu cầu vô hiệu hoá bộ nhớ đệm.

Các vấn đề đã biết với giao diện người dùng Edge

Các phần sau đây mô tả các vấn đề đã biết với giao diện người dùng Edge.

Khu vực Vấn đề đã biết
Không thể truy cập vào trang Quản trị vùng SSO của Edge từ thanh điều hướng sau khi tổ chức được liên kết với một vùng nhận dạng Khi kết nối một tổ chức với một vùng nhận dạng, bạn sẽ không thể truy cập vào trang Quản trị vùng SSO của Edge từ thanh điều hướng bên trái bằng cách chọn Quản trị viên > SSO. Để khắc phục vấn đề này, hãy chuyển đến trang trực tiếp bằng URL sau: https://apigee.com/sso

Vấn đề đã biết với cổng thông tin tích hợp

Các phần sau đây mô tả các vấn đề đã biết với cổng thông tin tích hợp.

Khu vực Vấn đề đã biết
SmartDocs
  • Apigee Edge hỗ trợ quy cách OpenAPI 3.0 khi bạn tạo thông số kỹ thuật bằng trình chỉnh sửa thông số kỹ thuậtphát hành API bằng SmartDocs trên cổng thông tin của bạn, mặc dù một số tính năng chưa được hỗ trợ.

    Ví dụ: các tính năng sau đây trong OpenAPI Specification 3.0 chưa được hỗ trợ:

    • Các thuộc tính allOf để kết hợp và mở rộng giản đồ
    • Tham chiếu từ xa

    Nếu một tính năng không được hỗ trợ được tham chiếu trong Thông số kỹ thuật OpenAPI của bạn, thì trong một số trường hợp, các công cụ sẽ bỏ qua tính năng đó nhưng vẫn hiển thị tài liệu tham khảo API. Trong các trường hợp khác, tính năng không được hỗ trợ sẽ gây ra lỗi khiến tài liệu tham khảo API không hiển thị thành công. Trong cả hai trường hợp, bạn sẽ cần sửa đổi Thông số kỹ thuật OpenAPI của mình để tránh sử dụng tính năng không được hỗ trợ cho đến khi tính năng đó được hỗ trợ trong bản phát hành sau này.

    Lưu ý: Vì trình chỉnh sửa thông số ít hạn chế hơn SmartDocs khi hiển thị tài liệu tham khảo API, nên bạn có thể thấy kết quả khác nhau giữa các công cụ.

  • Khi sử dụng API Thử này trong cổng thông tin, tiêu đề Accept được đặt thành application/json bất kể giá trị được thiết lập cho consumes trong Thông số kỹ thuật OpenAPI.
Nhà cung cấp danh tính SAML Đăng xuất một lần (SLO) với nhà cung cấp danh tính SAML không được hỗ trợ cho các miền tuỳ chỉnh. Để bật một miền tuỳ chỉnh với nhà cung cấp danh tính SAML, hãy để trống trường URL đăng xuất khi bạn định cấu hình chế độ cài đặt SAML.
Quản trị viên cổng thông tin
  • Việc nhiều người dùng thực hiện cập nhật đồng thời cổng thông tin (chẳng hạn như trang, giao diện, CSS hoặc tập lệnh) hiện không được hỗ trợ.
  • Nếu xoá trang tài liệu tham khảo API khỏi cổng thông tin thì bạn sẽ không thể tạo lại trang đó. Bạn sẽ phải xoá và thêm lại sản phẩm API, đồng thời tạo lại tài liệu tham khảo API.
  • Khi định cấu hình chính sách bảo mật nội dung, có thể mất tới 15 phút để các thay đổi được áp dụng đầy đủ.
  • Khi tuỳ chỉnh giao diện cổng thông tin, có thể mất đến 5 phút để các thay đổi có hiệu lực đầy đủ.
Tính năng cổng thông tin
  • Tính năng Tìm kiếm sẽ được tích hợp vào cổng thông tin tích hợp trong bản phát hành trong tương lai.

Các vấn đề đã biết với Edge cho Private Cloud

Các phần sau đây mô tả các vấn đề đã biết với Edge cho đám mây riêng.

Khu vực Vấn đề đã biết
4.53.00 SSO và cài đặt giao diện người dùng mới

Vấn đề này ảnh hưởng đến những người dùng đang tìm cách cài đặt SSO hoặc giao diện người dùng mới trên RHEL 8 hỗ trợ FIPS trên Edge for Private Cloud 4.53.00.

Thành phần chịu ảnh hưởng: SSO và giao diện người dùng mới

Vấn đề: Nếu bạn đang cài đặt SSO hoặc giao diện người dùng mới trên hệ điều hành RHEL 8 hỗ trợ FIPS, thì quá trình cài đặt sẽ không thành công.

Giải pháp: Bạn nên sử dụng Giao diện người dùng cổ điển. Giao diện này có đầy đủ tính năng và đáp ứng nhu cầu về chức năng giao diện người dùng.

Bản cập nhật Edge for Private Cloud 4.52.01 cho Mint

Vấn đề này chỉ ảnh hưởng đến những người đang sử dụng MINT hoặc đã bật MINT trong các lượt cài đặt Edge cho Private Cloud.

Thành phần bị ảnh hưởng: edge-message-processor

Vấn đề: Nếu đã bật tính năng kiếm tiền và đang cài đặt phiên bản 4.52.01 dưới dạng cài đặt mới hoặc nâng cấp từ các phiên bản Private Cloud trước đó, bạn sẽ gặp sự cố với trình xử lý thông báo. Số lượng luồng đang mở sẽ tăng dần, dẫn đến tình trạng cạn kiệt tài nguyên. Bạn sẽ thấy trường hợp ngoại lệ sau trong system.log của trình xử lý thông báo cạnh:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Lỗ hổng HTTP/2 của Apigee

Gần đây, chúng tôi phát hiện một lỗ hổng từ chối dịch vụ (DoS) trong nhiều cách triển khai giao thức HTTP/2 (CVE-2023-44487), bao gồm cả Apigee Edge cho đám mây riêng. Lỗ hổng này có thể dẫn đến tình trạng từ chối dịch vụ đối với chức năng quản lý API Apigee. Để biết thêm thông tin, hãy xem Bản tin bảo mật của Apigee GCP-2023-032.

Các thành phần bộ định tuyếnmáy chủ quản lý của Edge for Private Cloud được hiển thị trên Internet và có thể dễ bị tấn công. Mặc dù HTTP/2 được bật trên cổng quản lý của các thành phần dành riêng cho Edge khác của Edge cho đám mây riêng tư, nhưng không có thành phần nào trong số đó được hiển thị trên Internet. Trên các thành phần không phải Edge, chẳng hạn như Cassandra, Zookeeper và các thành phần khác, HTTP/2 sẽ không được bật. Bạn nên làm theo các bước sau để giải quyết lỗ hổng Edge cho đám mây riêng:

Hãy làm theo các bước sau nếu bạn đang sử dụng Edge Private Cloud phiên bản 4.51.00.11 trở lên:

  1. Cập nhật máy chủ quản lý:

    1. Trên mỗi nút máy chủ quản lý, hãy mở /opt/apigee/customer/application/management-server.properties
    2. Thêm dòng này vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
    3. Khởi động lại thành phần máy chủ quản lý:
      apigee-service edge-management-server restart
  2. Cập nhật trình xử lý thông báo:

    1. Trên mỗi nút trình xử lý thông báo, hãy mở /opt/apigee/customer/application/message-processor.properties
    2. Thêm dòng này vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-message-processor restart
  3. Cập nhật bộ định tuyến:

    1. Trên mỗi nút bộ định tuyến, hãy mở /opt/apigee/customer/application/router.properties
    2. Thêm dòng này vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-router restart
  4. Cập nhật QPID:

    1. Trên mỗi nút QPID, hãy mở /opt/apigee/customer/application/qpid-server.properties
    2. Thêm dòng này vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-qpid-server restart
  5. Cập nhật Postgres:

    1. Trên mỗi nút Postgres, hãy mở /opt/apigee/customer/application/postgres-server.properties
    2. Thêm dòng này vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-postgres-server restart

Hãy làm theo các bước sau nếu bạn đang sử dụng các phiên bản Edge for Private Cloud cũ hơn 4.51.00.11:

  1. Cập nhật máy chủ quản lý:

    1. Trên mỗi nút máy chủ quản lý, hãy mở /opt/apigee/customer/application/management-server.properties
    2. Thêm hai dòng sau vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Khởi động lại thành phần máy chủ quản lý:
      apigee-service edge-management-server restart
  2. Cập nhật trình xử lý thông báo:

    1. Trên mỗi nút trình xử lý thông báo, hãy mở /opt/apigee/customer/application/message-processor.properties
    2. Thêm hai dòng sau vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-message-processor restart
  3. Cập nhật bộ định tuyến:

    1. Trên mỗi nút bộ định tuyến, hãy mở /opt/apigee/customer/application/router.properties
    2. Thêm hai dòng sau vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-router restart
  4. Cập nhật QPID:

    1. Trên mỗi nút QPID, hãy mở /opt/apigee/customer/application/qpid-server.properties
    2. Thêm hai dòng sau vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-qpid-server restart
  5. Cập nhật Postgres:

    1. Trên mỗi nút Postgres, hãy mở /opt/apigee/customer/application/postgres-server.properties
    2. Thêm hai dòng sau vào tệp thuộc tính:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Khởi động lại thành phần trình xử lý thông báo:
      apigee-service edge-postgres-server restart
Nâng cấp Postgresql khi cập nhật lên phiên bản 4.52

Apigee-postgresql gặp vấn đề khi nâng cấp từ Edge for Private Cloud phiên bản 4.50 hoặc 4.51 lên phiên bản 4.52. Các vấn đề này chủ yếu xảy ra khi số lượng bảng lớn hơn 500.

Bạn có thể kiểm tra tổng số bảng trong Postgres bằng cách chạy truy vấn SQL bên dưới:

select count(*) from information_schema.tables

Giải pháp: Khi Cập nhật Apigee Edge 4.50.00 hoặc 4.51.00 lên 4.52.00, hãy nhớ thực hiện bước sơ bộ trước khi nâng cấp Apigee-postgresql.

apigee-mirror trên RHEL 8.0

apigee-mirror không hoạt động trên Red Hat Enterprise Linux (RHEL) 8.0.

Giải pháp: Để khắc phục, hãy cài đặt apigee-mirror trên một máy chủ chạy phiên bản RHEL thấp hơn hoặc một hệ điều hành được hỗ trợ khác cho Apigee. Sau đó, bạn có thể sử dụng bản sao để thêm các gói ngay cả khi đã cài đặt Apigee trên máy chủ RHEL 8.0.

Chính sách về LDAP

149245401: Chế độ cài đặt nhóm kết nối LDAP cho JNDI được định cấu hình thông qua tài nguyên LDAP không được phản ánh và chế độ mặc định của JNDI gây ra các kết nối dùng một lần mỗi lần. Do đó, các kết nối đang được mở và đóng mỗi lần sử dụng một lần, tạo ra một số lượng lớn kết nối mỗi giờ với máy chủ LDAP.

Giải pháp:

Để thay đổi các thuộc tính của nhóm kết nối LDAP, hãy làm theo các bước sau để đặt thay đổi chung trên tất cả các chính sách LDAP.

  1. Tạo tệp thuộc tính cấu hình nếu chưa có:
    /opt/apigee/customer/application/message-processor.properties
  2. Thêm nội dung sau vào tệp (thay thế các giá trị của thuộc tính Java Naming and Directory Interface (JNDI) (Giao diện thư mục và đặt tên Java) dựa trên yêu cầu cấu hình tài nguyên LDAP).
    bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
    -Dcom.sun.jndi.ldap.connect.pool.prefsize=2
    -Dcom.sun.jndi.ldap.connect.pool.initsize=2
    -Dcom.sun.jndi.ldap.connect.pool.timeout=120000
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
  3. Đảm bảo tệp /opt/apigee/customer/application/message-processor.properties thuộc quyền sở hữu của apigee:apigee.
  4. Khởi động lại từng trình xử lý thông báo.

Để xác minh rằng các thuộc tính JNDI của nhóm kết nối đang có hiệu lực, bạn có thể thực hiện một tcpdump để quan sát hành vi của nhóm kết nối LDAP theo thời gian.

Độ trễ cao trong quá trình xử lý yêu cầu

139051927: Độ trễ xử lý proxy cao được tìm thấy trong Trình xử lý thông báo đang ảnh hưởng đến tất cả Proxy API. Các triệu chứng bao gồm độ trễ 200-300 mili giây trong thời gian xử lý so với thời gian phản hồi API thông thường và có thể xảy ra ngẫu nhiên ngay cả khi TPS thấp. Điều này có thể xảy ra khi có hơn 50 máy chủ mục tiêu mà trình xử lý thông báo tạo kết nối.

Nguyên nhân gốc rễ: Các trình xử lý thông báo lưu giữ một bộ nhớ đệm liên kết URL máy chủ mục tiêu với đối tượng HTTPClient cho các kết nối đi đến máy chủ mục tiêu. Theo mặc định, chế độ cài đặt này được đặt thành 50, có thể quá thấp đối với hầu hết các trường hợp triển khai. Khi một lượt triển khai có nhiều tổ hợp org/env trong một chế độ thiết lập và có tổng số máy chủ mục tiêu vượt quá 50, các URL máy chủ mục tiêu sẽ liên tục bị xoá khỏi bộ nhớ đệm, gây ra độ trễ.

Xác thực: Để xác định xem việc xoá URL máy chủ mục tiêu có gây ra vấn đề về độ trễ hay không, hãy tìm kiếm từ khoá "onEvict" hoặc "Eviction" trong system.logs của Trình xử lý thông báo. Sự hiện diện của các URL này trong nhật ký cho biết rằng các URL máy chủ mục tiêu đang bị xoá khỏi bộ nhớ đệm HTTPClient vì kích thước bộ nhớ đệm quá nhỏ.

Giải pháp: Đối với Edge for Private Cloud phiên bản 19.01 và 19.06, bạn có thể chỉnh sửa và định cấu hình bộ nhớ đệm HTTPClient, /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

Sau đó, hãy khởi động lại trình xử lý thông báo. Thực hiện các thay đổi tương tự cho tất cả trình xử lý thông báo.

Giá trị 500 là một ví dụ. Giá trị tối ưu cho chế độ thiết lập của bạn phải lớn hơn số lượng máy chủ mục tiêu mà trình xử lý thông báo sẽ kết nối. Việc đặt thuộc tính này cao hơn sẽ không gây ra tác dụng phụ nào và chỉ ảnh hưởng đến thời gian xử lý yêu cầu proxy của trình xử lý thông báo.

Lưu ý: Edge for Private Cloud phiên bản 50.00 có chế độ cài đặt mặc định là 500.

Nhiều mục nhập cho bản đồ khoá-giá trị

157933959: Việc chèn và cập nhật đồng thời vào cùng một bản đồ giá trị khoá (KVM) trong phạm vi tổ chức hoặc cấp môi trường sẽ gây ra dữ liệu không nhất quán và mất nội dung cập nhật.

Lưu ý: Giới hạn này chỉ áp dụng cho Edge cho đám mây riêng. Edge cho đám mây công khai và kết hợp không có giới hạn này.

Để khắc phục trong Edge for Private Cloud, hãy tạo KVM ở phạm vi apiproxy.