Phản hồi HTTP 304 trong phiên theo dõi

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

Triệu chứng

Trong Edge dành cho đám mây riêng tư, khi theo dõi một API trong giao diện người dùng Edge, bạn sẽ thấy phản hồi HTTP 304 trong cột Trạng thái của cửa sổ theo dõi:

Thông báo lỗi

Không có thông báo lỗi nào – lệnh gọi proxy API thực sự trả về một phản hồi thành công, chẳng hạn như HTTP 200. Tuy nhiên, cửa sổ theo dõi trong giao diện người dùng Edge sẽ hiển thị phản hồi HTTP 304 và không thu thập dữ liệu theo dõi nào.

Các nguyên nhân có thể

Trong Edge dành cho đám mây riêng tư, giao diện người dùng Edge đang cố gắng theo dõi một proxy API mà địa chỉ IP riêng tư truy cập.

Công cụ theo dõi trong giao diện người dùng Edge có khả năng gửi yêu cầu API đến bất kỳ URL nào. Trong trường hợp triển khai khi giao diện người dùng Edge được lưu trữ cùng với các dịch vụ nội bộ khác, người dùng độc hại có thể sử dụng công cụ theo dõi sai mục đích để gửi yêu cầu đến các dịch vụ thông qua một địa chỉ IP riêng tư, chẳng hạn như localhost hoặc 127.0.0.1.

Trong môi trường phát hành chính thức, bạn thường giữ nguyên giá trị mặc định để ngăn người dùng truy vết địa chỉ IP riêng tư. Ví dụ: đó là cách triển khai phiên bản công khai của Giao diện người dùng Edge.

Tuy nhiên, đối với môi trường phát triển hoặc kiểm thử nội bộ, bạn có thể ghi đè giá trị mặc định này để cho phép các nhà phát triển API theo dõi bất kỳ địa chỉ IP nào. Thông thường, môi trường phát triển/kiểm thử nằm sau tường lửa không cho phép truy cập công khai.

Lưu ý: Tốt nhất là bạn nên giữ nguyên giá trị mặc định để ngăn việc truy cập dấu vết vào địa chỉ IP riêng tư, ngay cả trong môi trường phát triển/kiểm thử, trừ khi bạn gặp phải trường hợp phải bật tính năng này.

Nguyên nhân: Đang cố truy cập vào proxy API thông qua địa chỉ IP riêng tư

Theo mặc định, giao diện người dùng Edge trên Edge dành cho đám mây riêng tư sẽ ngăn người dùng theo dõi các lệnh gọi API được thực hiện thông qua địa chỉ IP riêng tư. Danh sách các địa chỉ IP riêng tư bao gồm:

  • Địa chỉ Loopback (127.0.0.1 hoặc localhost)
  • Địa chỉ trang web cục bộ (Đối với IPv4 – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Mọi địa chỉ cục bộ (bất kỳ địa chỉ nào phân giải đến localhost)

Ví dụ: lệnh curl sau đây thực hiện lệnh gọi đến một proxy API bằng cách sử dụng địa chỉ IP 127.0.0.1, được coi là địa chỉ IP riêng tư:

curl http://127.0.0.1:9001/myapiproxy

Trong cửa sổ theo dõi cho lệnh gọi này, bạn sẽ thấy phản hồi HTTP 304 ngay cả khi lệnh curl trả về thành công.

Độ phân giải

Để cho phép giao diện người dùng Edge theo dõi các địa chỉ IP riêng tư của Edge trong Đám mây riêng tư, hãy đặt mã thông báo sau trong ui.properties:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Cách đặt thuộc tính này:

  1. Mở tệp ui.properties trong trình chỉnh sửa. Nếu tệp không tồn tại, hãy tạo tệp.
    vi /opt/apigee/customer/application/ui.properties
  2. Đặt các thuộc tính sau thành true:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. Lưu thay đổi vào ui.properties.
  4. Đảm bảo tệp thuộc tính thuộc sở hữu của người dùng "apigee":
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Khởi động lại giao diện người dùng Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Giờ đây, giao diện người dùng của Edge có thể truy cập vào các địa chỉ IP riêng tư trong công cụ theo dõi.

Để sau này không cho phép giao diện người dùng theo dõi các yêu cầu thông qua địa chỉ IP riêng tư, hãy chỉnh sửa ui.properties để đặt thuộc tính thành false, sau đó khởi động lại giao diện người dùng Edge.

Để biết thêm thông tin, hãy xem phần Cho phép giao diện người dùng Edge truy cập vào địa chỉ IP cục bộ.