无法使用fastcgi启动seahub


#1

环境:seafile、mysql、apache分别在不同的服务器上,
apache:192.168.98.33
seafile:192.168.98.32
现在的问题是,如果不以fastcgi启动,seafile正常,apache可以代理192.168.98.32:8000数据,但是无法代理/seafhttp。
仔细阅读服务器文档后发现必须要以fastcgi启动。
按照CentOS方法二设置的开机启动,fastcgi=true后,无法代理数据,查看日志显示是127.0.0.1:8000,局域网扫描192.168.98.32,发现未开通8000端口。
但是fastcgi=true后,https://域名/seafhttp可以正常代理到192.168.98.32:8082。
apache的代理配置与服务器文档上的apache https一样。

请问,如何可以解决开启fastcgi后,可以让apache代理到192.168.98.32的8000端口?

补充:
#fastcgi=false的日志
LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 …

Seahub is started

Done.

#fastcgi=true的日志
LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub (fastcgi) at 127.0.0.1:8000 …

Seahub is started

Done.

我尝试过修改seafile-server-6.0.7/seahub.sh:178,

address=(test -z "$SEAFILE_FASTCGI_HOST" && echo "127.0.0.1") || echo $SEAFILE_FASTCGI_HOST
改成
address=(test -z "$SEAFILE_FASTCGI_HOST" && echo "192.168.98.32") || echo $SEAFILE_FASTCGI_HOST
修改后,确实可以通过端口扫描软件监测到8000端口开放了,这种情况下,使用浏览器打开无论是192.168.98.32:8000还是通过域名访问,浏览器一直在读取,无法显示任何内容,也不报错。


#2

人工置顶,有没有办法?


#3

说明apache的配置对32:8000的代理是http代理。

使用fastcgi启动后,就不能直接浏览器访问32:8000,而且apache配置文件中应该是fcgi代理,
VirtualHost节最后一行,ProxyPass / fcgi://192.168.98.32:8000/,注意是fcgi开头。你这里说的域名访问我觉得应该是指33的域名。希望能帮到你


#4

你看看8000是不是被tomcat用了


#5

求教,apache和seafile不在一台服务器上如何让apache代理seafile,也就是说对客户端来说他访问的是apache的地址,但实际上数据先经过apache再传到seafile。公司用的防火墙在内网不能无法ping通路由器的外网口ip,打算用云主机做apache


#6

建议看这个文档,把apache作为代理服务器即可。http://manual-cn.seafile.com/deploy/deploy_with_apache.html