跟踪会话中的 HTTP 304 响应

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

问题

在适用于私有云的 Edge 中,在 Edge 界面中跟踪 API 时,您会看到 在跟踪窗口的状态列中返回 HTTP 304 响应:

错误消息

没有错误消息 - API 代理调用实际上会返回成功 (例如 HTTP 200)不过,Edge 界面中的轨迹窗口会显示 返回 HTTP 304 响应,并且不收集跟踪记录数据。

可能的原因

在适用于私有云的 Edge 中,Edge 界面尝试跟踪 API 代理 通过专用 IP 地址访问

Edge 界面中的轨迹工具能够向任何网址发送 API 请求。 在 Edge 界面与其他内部 服务,那么恶意用户可能会滥用跟踪工具 例如 localhost 或 127.0.0.1。

在生产环境中,您通常会保留默认值不变, 使用户无法跟踪专用 IP 地址 例如,下图就是公开版 Edge 界面 已部署

但是,对于内部开发或测试环境,您可以替换 此默认值可让您的 API 开发者跟踪任何 IP 地址。 通常,开发/测试环境受防火墙保护, 允许公开访问。

注意 :建议您最好将默认设置保留为 防止对专用 IP 地址的跟踪记录访问,即使是在开发/测试环境中, 除非您遇到必须启用它的情况

原因:正在尝试通过专用 IP 地址访问 API 代理

默认情况下,私有云的 Edge 界面会阻止用户执行以下操作 跟踪通过专用 IP 地址进行的 API 调用。 专用 IP 地址列表包括:

  • 环回地址(127.0.0.1 或 localhost)
  • 站点本地地址(适用于 IPv4 - 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)
  • 任何本地地址(解析为 localhost 的任何地址)

例如,以下 curl 命令使用 IP 地址 127.0.0.1(被视为专用 IP 地址):

curl http://127.0.0.1:9001/myapiproxy

在此调用的跟踪窗口中,即使 curl 命令返回成功,您也会看到 HTTP 304 响应。

分辨率

要让 Edge 界面跟踪 Edge 的专用 IP 地址, Private Cloud 时,请在 ui.properties 中设置以下令牌:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

如需设置此属性,请执行以下操作:

  1. 通过编辑器打开 ui.properties 文件。 如果文件 不存在,请创建它。
    vi /opt/apigee/customer/application/ui.properties
  2. 将以下属性设为 true:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. 将所做的更改保存到 ui.properties
  4. 确保属性文件归“apigee”所有用户:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. 重启 Edge 界面:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Edge 界面现在可以访问轨迹工具中的专用 IP 地址。

如果以后要禁止界面通过专用 IP 地址跟踪请求,请按以下步骤操作: 修改 ui.properties 以将该属性设置为 false, 然后重启 Edge 界面。

有关更多信息,请参见 允许边缘界面访问本地 IP 地址