Files
shz-backend/docs/test-reports/job-fair/2026-07-25/bugs/BUG-006-enterprise-outdoor-image-mixed-content.md

3.4 KiB
Raw Blame History

BUG-006企业端户外招聘会列表返回本机 HTTP 图片地址并触发混合内容失败

  • 严重级别P2线上页面资源不可用且存在安全配置问题
  • 状态:代码已修复;历史图片数据待数据管理员确认/清理
  • 环境test
  • 角色PC 企业端(已登录测试企业角色)
  • 入口:/shihezi/jobfair/jobfair/outdoorfair
  • 招聘会:id=14,标题“测试”
  • 发现时间2026-07-25

复现步骤

  1. 使用测试企业角色进入企业管理端。
  2. 打开“招聘会管理 → 户外招聘会”。
  3. 在列表中找到标题为“测试”的招聘会记录。
  4. 观察“招聘会照片”列,并查看 Chrome DevTools Console/Network。

预期结果

招聘会照片应使用测试环境可访问的 HTTPS 资源(或同源安全资源),页面应能正常展示图片,不应把本机回环地址暴露给浏览器。

实际结果

列表接口返回图片地址:

http://127.0.0.1:9091/profile/upload/2026/07/22/Snipaste_2026-07-20_10-50-27_20260722203721A001.png

当前页面为 HTTPSChrome 将其判定为 Mixed Content图片请求失败DevTools 记录 net::ERR_CONNECTION_REFUSED。页面截图中该记录的图片未正常加载。

浏览器证据

  • 页面截图:JF-EN-005-outdoor-list-baseline.png
  • GET /api/shihezi/cms/outdoor-fair/list?current=1&pageSize=20HTTP 200响应对象 id=14photoUrl 为上述 http://127.0.0.1:9091/... 地址。
  • Chrome ConsoleMixed Content: The page at 'https://test.xjshzly.longbiosphere.com/shihezi/jobfair/jobfair/outdoorfair' was loaded over HTTPS, but requested an insecure element 'http://127.0.0.1:9091/...'.
  • Chrome ConsoleFailed to load resource: net::ERR_CONNECTION_REFUSED
  • Chrome DevTools IssuesMixed content: load all resources via HTTPS to improve the security of your site (count: 1)
  • 页面只读 DOM 检查:该图片 complete=true,但 naturalWidth=0naturalHeight=0,证实资源没有成功加载。

管理端同一资源的复现

监管管理员打开 /shihezi/jobfair/jobfair/outdoorfair 时,测试 招聘会同样返回并渲染该本机地址:

http://127.0.0.1:9091/profile/upload/2026/07/22/Snipaste_2026-07-20_10-50-27_20260722203721A001.png

管理端 Network request 209 返回 net::ERR_CONNECTION_REFUSEDConsole 报告 HTTPS 页面请求不安全 HTTP 元素的 Mixed Content 警告。该问题因此同时影响企业端和管理端展示。

影响范围

该招聘会照片在测试环境企业端不可见;如果相同数据进入公开端、管理端或分享页面,可能造成多个端图片缺失。127.0.0.1 还会让不同访问者请求各自设备的本地服务属于环境地址污染HTTPS 页面加载 HTTP 资源也降低传输安全性。

初步定位

问题已出现在户外招聘会列表接口返回的 photoUrl 数据中,而非前端图片组件拼接错误。优先检查上传文件 URL 生成配置、历史数据迁移/清洗以及反向代理下的公网资源地址转换。

建议

清理 id=14 及同类记录中的本机地址,重新绑定可访问的 HTTPS 图片;上传服务统一生成环境无关的相对路径或 HTTPS 公网地址,并在接口/管理端保存前拒绝 localhost127.0.0.1 等回环主机。