協同編輯是 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