反向代理背后的Alfresco共享登录错误

时间:2016-12-16 08:31:05

标签: login apache2 alfresco reverse-proxy alfresco-share

我将我的Alfresco实例配置为子URI(www.example.com/prefix/alfresco,www.example.com/prefix/alfresco/share),所有看起来都很好,除了我可以&#39 ; t登录共享。 Catalina.out记录此错误:

  

错误[alfresco.web.site] [http-apr-28080-exec-10]   javax.servlet.ServletException:可能的CSRF攻击   断言referer标题   ' http://www.example.com/prefix/alfresco/share/page/&#39 ;.请求:POST   / prefix / alfresco / share / page / dologin,FAILED TEST:断言引用POST   / prefix / alfresco / share / page / dologin :: referer:   ' http://www.example.com/prefix/alfresco/share/page/' vs服务器&   context:http://10.140.8.144/(string)或(regexp)

然后浏览器显示此页面(www.example.com/prefix/alfresco/share/dologin):

  

此页面有问题......

     

我们可能遇到错误或某些内容可能已被删除或   已删除,请检查网址是否正确。

     

或者,您可能没有权限查看该页面(可能   在一个私人网站上)或可能有一个内部错误。尝试   与您的Alfresco管理员核实。

     

如果您尝试访问主页并且它已不再可用   您应该通过单击Alfresco工具栏上的名称来更改它。

我尝试在share-config-custom.xml中停用CSRF过滤器,但后来我无法登录,并且我在日志中没有任何消息,登录页面显示:

  

您的身份验证详细信息尚未被识别,或者Alfresco可能无法识别   目前无法使用。

我的apache conf:

  

ProxyPass / prefix / alfresco
  http://10.140.8.144:28080/prefix/alfresco ProxyPassReverse
  / prefix / alfresco http://10.140.8.144:28080/prefix/alfresco

     

ProxyPass / prefix / alfresco / share
  http://10.140.8.144:28080/prefix/share ProxyPassReverse
  / prefix / alfresco / share http://10.140.8.144:28080/prefix/share

我可以在配置Alfresco之前进行日志记录,以便在反向代理中工作。

1 个答案:

答案 0 :(得分:1)

无需停用CSRF过滤器。如果您按照documentation中的描述更改了上下文路径,则需要确保tomcat连接器"知道"外部上下文(主机名,端口,上下文)。

要么

  • 设置proxyName和proxyPort
  • 在tomcat server.xml中设置RemoteIpValve并设置所需的代理头 apache中的变量(x-forwarded-for,x-forwarded-by, 的x转发-原)
  • 使用proxy_ajp而不是proxy_http并在中定义ajp连接器 Tomcat的