Files
MemRelay/projects/d1932ed6-07d3-4463-a224-8534ffd69a07/“ONLYOFFICE 无法连接”实为浏览器陈旧状态,同源 -ds-vpath- 经 headless 验证正常.md
T

29 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: “ONLYOFFICE 无法连接”实为浏览器陈旧状态,同源 /ds-vpath/ 经 headless 验证正常
type: experience
permalink: main/projects/d1932ed6-07d3-4463-a224-8534ffd69a07/onlyoffice-无法连接-实为浏览器陈旧状态同源-ds-vpath-经-headless-验证正常
stable_id: b476b307-7224-4128-8499-4c43a2ad1cb5
scope: project
project_id: d1932ed6-07d3-4463-a224-8534ffd69a07
memory_type: experience
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T15:05:39.113565+00:00'
updated_at: '2026-09-23T15:05:39.113629+00:00'
tags:
- nextoffice
- onlyoffice
- ds-vpath
- browser-cache
- cdp
- diagnosis
---
现象:本机实例(127.0.0.1:45678,升级到 /ds-vpath/ 同源代理后)在用户 Edge 里打开 xlsx 提示“ONLYOFFICE 服务器无法连接,请联系系统管理员”。
排查:服务端全部正常——OCS api/v1/config 返回 documentServerUrl=/ds-vpath/(非空、error=null);编辑器 iframe 页 CSP 含 script-src-elem 'strict-dynamic' 'nonce-XXX',且 onlyoffice-editor.mjs 带匹配 nonce(type=module);/ds-vpath/web-apps/apps/api/documents/api.js 返回 200 且含 DocsAPI;连接器自检 successfully connected;WS 101、polling 0{"sid"}。但 Nextcloud 访问日志显示真实浏览器(Edg/152)拿到 config 后从不请求 api.js。
定性方法(关键):用本机 Chrome + node v24 CDP 写临时脚本(已删),全新 --user-data-dir + --headless=new 无缓存会话,Network.setExtraHTTPHeaders 注入 Basic 认证,导航到 /index.php/apps/onlyoffice/<id>?inframe=true。结果:编辑器**完整加载**(api.js、index.html、require.js、sdk-all-min.js、socket.io、Editor.bin 全 200),零 CSP 违规、零 loadingFailed,仅一条自恢复的 CSRF token mismatch 警告。
结论:/ds-vpath/ 同源方案本身正确、IP 无关,无需改代码。用户故障是浏览器陈旧状态(旧 :8081 绝对地址配置时的缓存 JS / Service Worker / 过期 requesttoken,CSRF mismatch 即其痕迹)。解法:对该站点硬刷新 / 清除站点数据 / 注销 Service Worker / 无缓存窗口。可安心部署到线。经验:排查此类“前端报无法连接但服务端正常”问题,用 Chrome CDP + 干净 profile 复现比猜测 CSP 更高效。