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 Status (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ề kết quả 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.

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 được truy cập bằng địa chỉ IP riêng tư.

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 đồng lưu trữ với các thiết bị nội bộ khác một người dùng độc hại có thể sử dụng sai công cụ theo dõi để yêu cầu 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 công khai, bạn thường để nguyên chế độ mặc định để ngăn người dùng không thể theo dõi địa chỉ IP riêng tư. Ví dụ: đó là cách phiên bản công khai của giao diện người dùng Edge được triển khai.

Tuy nhiên, đối với môi trường thử nghiệm hoặc phát triển nội bộ, bạn có thể ghi đè giá trị mặc định này để cho phép nhà phát triển API theo dõi mọi địa chỉ IP. 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 để nguyên giá trị mặc định để ngăn truy cập dấu vết đến các đị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 buộc phải bật tính năng này.

Nguyên nhân: 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 của 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 qua địa chỉ IP riêng tư. Danh sách đị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 thành 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 địa chỉ IP riêng tư cho Edge cho Private Cloud, hãy đặt mã thông báo sau trong ui.properties:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

Cách đặt tài sản này:

  1. Mở tệp ui.properties trong trình chỉnh sửa. Nếu tệp có không tồn tại, hãy tạo nó.
    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 các thay đổi vào ui.properties.
  4. Đảm bảo rằng tệp thuộc tính thuộc sở hữu của "apigee" người dùng:
    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 Edge có thể truy cập vào địa chỉ IP riêng tư trong công cụ theo dõi.

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

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