協同編輯是 Synchrony 提供的,用于在編輯的時候實時同步。在一般的情況下,這個程序是不需要 Confluence 的管理者進行手動管理的。
這個頁面将會幫助你 Confluence 安裝執行個體中 Synchrony 出現的問題進行問題解決。
第一步
檢查 Synchrony 是否在運作
為了檢查 Synchrony 是否在運作,進入

> 基本配置(General Configuration) > 協同編輯(Collaborative editing)。
請注意:如果你正在運作的 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
進入

> 基本配置(General Configuration)> 協同編輯(Collaborative editing)然後選擇 重新開機 Synchrony(Restart 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 連接配接需要在
檔案中進行配置,盡管你已經配置了 SSL 或者使用了 AJP 連接配接器。Synchrony 健康檢查程式将會使用 HTTP 端口進行檢查。可選的,如果你不希望包含 http 連接配接器,你可以使用<installation-directory>/conf/server.xml
系統屬性來禁用健康檢查。synchrony.proxy.healthcheck.disabled
- 如果你正在使用 Apache,請确定你正在使用的是 Apache 2.4 (需要 WebSockets 的支援)同時所有需要的子產品都已經被啟用了(
,mod-proxy
mod_rewrite
)。proxy_wstunnel
- 如果你正在使用的是 Apache 同時希望直接連接配接 Synchrony,在你的屬性配置檔案中,請确定你已經包含了
同時 Confluence 和 Synchrony 的順序和路徑是正确的。請參考下面的指南示例來獲得更多資訊。/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 頁面中的内容來獲得有關的一些資訊。