Moodle只服务于IP – 不会与mod_proxy一起使用

我试图在一个已经通过Apache服务Plone&Trac的Ubuntu盒子上设置一个moodle服务器。

在我的Moodleconfiguration中,我有$ CFG-> wwwroot =' http://www.server-name.org/moodle '

下面的(错综复杂的,但工作)configuration工作正常,但是当我访问www.server-name.com/moodle时,我得到:

检测到不正确的访问,只能通过“ http://xxx.xxx.xxx.xxx:8888/moodle ”地址访问此服务器,对不起

然后转发到Moodle运行正常的IP地址。

我错过了什么让服务器名称方法正常工作?


Apacheconfiguration如下:

LoadModule transform_module /usr/lib/apache2/modules/mod_transform.so Listen 8080 Listen 8888 Include /etc/phpmyadmin/apache.conf <VirtualHost xxx.xxx.xxx.xxx:8080> <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On <Location /> ProxyPass http://127.0.0.1:8082/ ProxyPassReverse http://127.0.0.1:8082/ </Location> </VirtualHost> <VirtualHost xxx.xxx.xxx.xxx:80> ServerName www.server-name.org ServerAlias server-name.org ProxyRequests Off FilterDeclare MyStyle RESOURCE FilterProvider MyStyle XSLT resp=Content-Type $text/html TransformOptions +ApacheFS +HTML TransformCache /theme.xsl /home/web/webapps/plone/theme.xsl TransformSet /theme.xsl FilterChain MyStyle ProxyPass /issue-tracker ! ProxyPass /moodle ! <Location /issue-tracker/login> AuthType Basic AuthName "Trac" AuthUserFile /home/web/webapps/plone/parts/trac/trac.htpasswd Require valid-user </Location> Alias /moodle /usr/share/moodle/ <Directory /usr/share/moodle/> Options +FollowSymLinks AllowOverride None order allow,deny allow from all <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> </Directory> </VirtualHost> 

问题在于Moodleconfiguration,因为$CFG->wwwroot根本不应该受服务器的影响。

也许如果您使用了第三方安装脚本,则该variables将被重新设置和/或置于不同的文件中。 尝试在moodle目录中对http://xxx.xxx.xxx.xxx:8888/moodle进行grepsearch。

作为解决方法,您可以尝试使用$CFG->wwwroot = 'http://'.$_SERVER["HTTP_HOST"];