confluence 默认在登录失败超过 3 次就会开启验证码认证,如果出现验证码完全不显示,有可能是字符编码的问题,一般日志中会有如下报错:
2020-09-05 15:01:27,053 ERROR [http-8090-1] [[Standalone].[localhost].[/].[jcaptcha]] log Servlet.service() for servlet jcaptcha threw exception com.octo.captcha.CaptchaException: word is too tall: try to use less letters, smaller font or bigger background: text bounds = {text=tasble在 /opt/atlassian/confluence/bin 目录下(安装目录),编辑 setenv.sh 脚本,在 CATALINA_OPTS 部分添加如下内容:
CATALINA_OPTS="-Dfile.encoding=UTF-8"在系统中安装如下软件(一般情况下都是默认安装好的):
yum -y install deja*重启 confluence 即可。
如果只是部分验证码不显示(刷新多次,偶现验证不显示的情况),可能是由于缺失字体导致的,暂未找到解决办法,可以先关闭验证码功能。
九、处理升级 confluence 后无法创建页面的问题官方处理文档:
https://www.cwiki.us/display/CONFLUENCEWIKI/Administering+Collaborative+Editing
https://www.cwiki.us/display/CONFLUENCEWIKI/Running+Confluence+behind+NGINX+with+SSL
confluence 升级至 6.15.10 版本后,创建空间或页面会显示如下报错:
该文件的加载时间比平时要长。请稍等片刻,然后尝试刷新页面会一直卡在刷新的界面中,经过排查,可以确定是由于 confluence 新增的协同编辑功能导致的。
协同编辑是通过 Synchrony 进行的,Synchrony 在默认的情况下是运行在 8091 端口的。这个能够实时的同步数据。Synchrony 是一个可执行的进程,这个进程是在 Confluence 之外运行的,但是又是由 Confluence 自动进行管理的。
如果没有在 confluence 中使用反向代理 ,那么会通过 Confluence 的内部 Synchrony 代理连接到 Synchrony。
如果 confluence 是运行在一个反向代理的后面的,那么就需要在反向代理中添加针对 Synchrony 服务 ws 请求的代理配置。例如当前使用 NGINX 作为反向代理,那么在 NGINX 中添加如下配置(与 confluence 在同一个 server 段):
location /synchrony { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass :8091/synchrony; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }接下来修改 /opt/atlassian/confluence/conf 目录下的 server.xml 文件,在其中配置 tomcat 连接器:
<Connector port="8090" connectionTimeout="20000" redirectPort="8443" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol" proxyName="smc.sohuno.com" proxyPort="80" schema="http"/>修改完成后重启 confluence 服务即可。