协同编辑是 Synchrony 提供的,用于在编辑的时候实时同步。在一般的情况下,这个进程是不需要 Confluence 的管理员进行手动管理的。
这个页面将会帮助你 Confluence 安装实例中 Synchrony 出现的问题进行问题解决。
第一步
检查 Synchrony 是否在运行
为了检查 Synchrony 是否在运行,进入
请注意:如果你正在运行的 Confluence 数据中心模式,那么这个页面将仅能告诉你如果当前连接到 Confluence 节点的的 Synchrony 的运行状态。你可能需要第三方的监控工具来帮助你监控你的 Synchrony 集群。
检查你可以编辑的页面
如果在你对页面进行编辑的时候看到了错误,但是 Synchrony 又是运行的,那么应该是你浏览器有某些东西阻止你连接到 Synchrony 。
最常见的问题是反向代理的错误配置。请查看页面尾部的有关代理配置的问题解决或者进入 Administering Collaborative Editing 页面找到有关可能的代理和 SSL 配置。
检查日志
你可以在 <home-directory>/logs/atlassian-confluence.log
中找到有关 Confluence 应用的日志。Synchrony 有关的日志你可以在 <home-directory>/logs/atlassian-synchrony.log
中找到。
重启 Synchrony
进入
检查 8091 端口是否可用
在默认的情况下 Synchrony 运行在 8091 端口。如果这个端口已经被其他的应用占用的话,你可以使用 synchrony.port
系统属性来将端口修改到其他未被占用的端口。
(如果你使用的是 Confluence 6.0.3 或者早期的版本,你需要使用 reza.port
来替代 synchrony.port
。)
请查看 Configuring System Properties 页面来找到如何对这些内容进行修改。
针对 Confluence 数据中心模式,运行 Synchrony 的方式有所不同。请 Configuring Synchrony for Data Center 页面中获得有关配置的信息。
反向代理(Reverse proxy)问题
如果你已经配置了方向代理,但是不能编辑页面,你可以对下面的一些配置进行检查:
- 进入
installation-directory>/econf/server.xml
然后检查连接器的目录。确定你已经正确的配置了值<protocol>
和<proxyName>。
请参考下面的示例来获得更多的信息。 - HTTP 连接需要在
<installation-directory>/conf/server.xml
文件中进行配置,尽管你已经配置了 SSL 或者使用了 AJP 连接器。Synchrony 健康检查程序将会使用 HTTP 端口进行检查。可选的,如果你不希望包含 http 连接器,你可以使用synchrony.proxy.healthcheck.disabled
系统属性来禁用健康检查。 - 如果你正在使用 Apache,请确定你正在使用的是 Apache 2.4 (需要 WebSockets 的支持)同时所有需要的模块都已经被启用了(
mod-proxy
,mod_rewrite
,proxy_wstunnel
)。 - 如果你正在使用的是 Apache 同时希望直接连接 Synchrony,在你的属性配置文件中,请确定你已经包含了
/synchrony
同时 Confluence 和 Synchrony 的顺序和路径是正确的。请参考下面的指南示例来获得更多信息。
请参考 Administering Collaborative Editing 来找到更多有关可能的反向代理和 SSL 配置,然后请参考下面的链接来找到更多有关 Synchrony 在反向代理中的配置。如果你想直接连接 Synchrony 的话:
- Using Apache with mod_proxy
- Running Confluence behind NGINX with SSL
- Proxying Atlassian server applications with Apache HTTP Server (mod_proxy_http)
- Proxying Atlassian server applications with Microsoft Internet Information Services (IIS)
- How to configure Amazon Web Service Elastic Load Balancer with Confluence 6.0
正向代理(Forward proxy)问题
如果你正在使用的是正向代理或者外部代理,你需要添加 IP 到 Synchrony 到你的监听器中来确定你的配置能够穿透代理。 See Troubleshooting Collaborative Editing for more info.
在默认的情况下,IP 地址为 127.0.0.1 或者是 synchrony.host
中的系统属性配置,如果你在 Confluence 中自定义了 hostname 或者 IP 地址来 Synchrony 的话。
Websocket 问题
协同编辑最好是在 WebSocket 连接下进行配置。如果其中一个方面因为超时而不能建立连接,或者代理服务器的防火墙不允许 WebSocket 连接。那么编辑器将会尝试通过一个 XML HTTP 请求(XHR)进行连接。
你可以使用 http://websocket.org/echo.html 来进行快速的 HTML5 WebSocket 测试服务器的响应。
SSL 问题
Synchrony 不能接受直接的 HTTPS 连接,所以你需要下你的方向代理或者负载均衡配置 SSL。如果你使用的是 Tomcat,但是你没有使用方向代理,那么你需要在你的 Tomcat 上配置 SSL。
内存问题
如果你遇到了 Synchrony 有关内存溢出,你可以修改 Synchrony 使用的 heap 大小,这个配置定义在 synchrony.memory.max
系统属性中。
如果你使用的是 Confluence 6.3 或者早期的版本,你将需要使用 reza.memory.max
来替换 synchrony.memory.max。
请参考 Configuring System Properties 页面中的内容来找到如何对这个进行修改。
针对 Confluence 数据中心使用的 Synchrony 的方法与服务器环境下使用的方法有所不同。请参考 Configuring Synchrony for Data Center 页面中的内容来获得有关的更多信息。
多 Synchrony 进程
如果你在编辑的时候立马就在编辑上显示了错误,但是 Confluence 报告的是 Synchrony 是运行的,你需要检查只有一个 Synchrony 实例正在运行。
如果你有多个 Synchrony 进程正在运行,停止 Confluence,杀死掉多余的 Synchrony 进程后重启 Confluence。
你可以通过每次都使用 stop-confluence.sh
/ stop-confluence.bat
来停止 Confluence,避免使用关闭 Tomcat 窗口的方式来停止 Confluence。
不兼容的浏览器扩展
有时候,第三方的一些浏览器插件将会对编辑器造成影响,例如 Grammarly,有时候也会导致协同编辑的功能不能正确的使用。请参考 Confluence Collaborative Editing blocks Grammarly Extension 页面中的内容来找到如何在你的站点中禁用 Grammarly 。
防火墙或者防病毒干扰
我们也遇到了一些有关防火墙或者防病毒软件阻止服务器的一些访问,这个将会导致编辑器出现一些莫名其妙的错误。你需要将 Confluence 添加到你的白名单或者信任的 URL 中,如果你遇到了防火墙相关的一些问题的话。请参考 Weird Page or Editor Behaviors with Kaspersky Internet Security 页面中的内容来获得有关的一些信息。
太多人同时在编辑
系统并不强制限制可以使用编辑器的用户的数量,但是我们建议你保持不要超过 12 个用户同时使用编辑器进行编辑。官方可能后期限制可以同时使用编辑器的用户的数量,如果官方觉得这个限制是有意义,并且是必要的话。
https://www.cwiki.us/display/CONF6ZH/Troubleshooting+Collaborative+Editing