我在建立Apache代理后面的moodle实例时遇到麻烦。

这是我的Apache前端,可以代理正在运行的服务器。

NameVirtualHost www.example.com:443
<VirtualHost www.example.com:443>
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias www.example.com
  ProxyPass / http://192.168.1.101/
  ProxyPassReverse / http://192.168.1.101/
  SSLEngine on
  SSLCertificateFile /etc/ssl/crt/example.com.crt
  SSLCertificateKeyFile /etc/ssl/crt/example.com.key
  SSLCACertificatePath /etc/ssl/crt
  SSLCertificateChainFile /etc/ssl/crt/example.com.bundle.crt
</VirtualHost>


在具体的服务器上。

 $CFG->wwwroot = 'http://192.168.1.101/classes';




<VirtualHost 192.168.1.101:80>
    ServerAlias 192.168.1.101
    ServerAdmin webmaster@localhost
    ServerName 192.168.1.101
    DocumentRoot /var/www/
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>


事实是,我不断得到,只有从182.168.1.101开始才可以访问情绪。我已经能够配置汇合和其他平台,但是moodle无法正常工作。

具体错误如下。

Incorrect access detected, this server may be accessed only through "http://192.168.1.101/classes"       address, sorry. Please notify server administrator.


有人知道会发生什么吗?

最佳答案

它是Moodle错误消息,必须匹配config.php中的wwwroot。

你可以试试

$CFG->wwwroot   = 'http://' . $_SERVER['HTTP_HOST'];


尽管这可能不允许在Moodle中进行某些命令行更新。

09-30 17:04
查看更多