# 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` 当前页面为 HTTPS,Chrome 将其判定为 Mixed Content;图片请求失败,DevTools 记录 `net::ERR_CONNECTION_REFUSED`。页面截图中该记录的图片未正常加载。 ## 浏览器证据 - 页面截图:[JF-EN-005-outdoor-list-baseline.png](../screenshots/JF-EN-005-outdoor-list-baseline.png) - `GET /api/shihezi/cms/outdoor-fair/list?current=1&pageSize=20`:HTTP 200;响应对象 `id=14` 的 `photoUrl` 为上述 `http://127.0.0.1:9091/...` 地址。 - Chrome Console:`Mixed 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 Console:`Failed to load resource: net::ERR_CONNECTION_REFUSED`。 - Chrome DevTools Issues:`Mixed content: load all resources via HTTPS to improve the security of your site (count: 1)`。 - 页面只读 DOM 检查:该图片 `complete=true`,但 `naturalWidth=0`、`naturalHeight=0`,证实资源没有成功加载。 ### 管理端同一资源的复现 监管管理员打开 `/shihezi/jobfair/jobfair/outdoorfair` 时,`测试` 招聘会同样返回并渲染该本机地址: ```text 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_REFUSED`,Console 报告 HTTPS 页面请求不安全 HTTP 元素的 Mixed Content 警告。该问题因此同时影响企业端和管理端展示。 - 管理端截图:[JF-AD-005-admin-outdoor-list.png](../screenshots/JF-AD-005-admin-outdoor-list.png) ## 影响范围 该招聘会照片在测试环境企业端不可见;如果相同数据进入公开端、管理端或分享页面,可能造成多个端图片缺失。`127.0.0.1` 还会让不同访问者请求各自设备的本地服务,属于环境地址污染;HTTPS 页面加载 HTTP 资源也降低传输安全性。 ## 初步定位 问题已出现在户外招聘会列表接口返回的 `photoUrl` 数据中,而非前端图片组件拼接错误。优先检查上传文件 URL 生成配置、历史数据迁移/清洗以及反向代理下的公网资源地址转换。 ## 建议 清理 `id=14` 及同类记录中的本机地址,重新绑定可访问的 HTTPS 图片;上传服务统一生成环境无关的相对路径或 HTTPS 公网地址,并在接口/管理端保存前拒绝 `localhost`、`127.0.0.1` 等回环主机。