Problema proxy inverso

Problema proxy inverso

de raul spinola morilla -
Número de respuestas: 0

Hola de nuevo, ya he escrito alguna que otra vez sobre algunos de los problemas que tengo con mi servidor moodle.

Yo trabajo en una administracion publica y tengo montado el servidor dentro de la red coorporativa. El 99% de todos mis problemas han venido por que ahi un proxy inverso que nos cambia la url y nos vuelve loco al moodle. He leido varios post sobre el tema, incluido una solucion que daban en una pagina que consistia en variar el config.php.La solucion estuvo en el siguiente post :http://moodle.org/mod/forum/discuss.php?d=18403&MoodleSession=6097e820d97bebaf99391dffff44818d

que creia que me habia solucionado el problema, aunque no a sido del todo correcta. Os dejaré tb la solucion que se proponia en la pagina que anteriormente os comenté, que era poner esto en el config.php:

$ipservidor = getenv('REMOTE_ADDR');
$letra = substr($ipservidor,3,5);
if ($letra == 160.5) {
$CFG->wwwroot =
'http://www.juntadeandalucia.es/averroes/~12345678/moodle';
} else {
$CFG->wwwroot =
'http://averroes.ced.junta-andalucia.es/~12345678/moodle';
}

Con esta modificacion se me soluciona por ejemplo un problema que tenia con la ventana entrar, pero no todo lo demas. Bueno pues despues de solucionar casi todo con el post en el que habia que modificar el weblib.php me he dado cuenta que desde fuera de la red coorporativa cuando le doy al boton de "marcar como leido" de un curso que tengo instalado de la página de guadalinex de openoffice writer , va perfectamente, sin embargo cuando lo hago desde dentro de la red coorporativa no me lo marca. La modificacion que he hecho en el weblib es la siguiente:

function qualified_me() {
    global $CFG;

    if (!empty($CFG->wwwroot)) {
          $url = parse_url($CFG->wwwroot);
          }

    if (!empty($url['host'])) {
        // $hostname = $url['host'];
         $hostname = "www.miservidor/xxxx/formacion";
    } else if (!empty($_SERVER["SERVER_NAME"])) {
        $hostname = $_SERVER["SERVER_NAME"];
    } else if (!empty($_ENV["SERVER_NAME"])) {
        $hostname = $_ENV["SERVER_NAME"];
    } else if (!empty($_SERVER["HTTP_HOST"])) {
        $hostname = $_SERVER["HTTP_HOST"];
    } else if (!empty($_ENV["HTTP_HOST"])) {
        $hostname = $_ENV["HTTP_HOST"];
    } else  {
        notify("Warning: could not find the name of this server!");
        return false;
    }
 
    $protocol = (isset($_SERVER["HTTPS"]) and $_SERVER["HTTPS"] == "on") ? "https://" : "http://";
    $url_prefix = $protocol.$hostname;
    return $url_prefix . me();
}
Pues con esto no se me a solucionado el problema de "marcar como leido".

Tengo apache 1.1 y en mi httpd.conf tengo la variable UseCanonicalName a On y tengo un VirtualHost en el cual tengo el servername www.miservidor/xxxx/formacion y aparte tengo la variable ServerName tb con la misma direccion www.miservidor/xxxx/formacion.

No se si esto os podrá dar una pista del problema que puedo tener pero lo cierto y verdad es que todos los problemas que estoy teniendo vienen por el proxy inverso que tiene montada la red coorporativa y que me esta dando tantisimos problemas. Se que ya ahi algunos post abiertos sobre este tema, y aunque me los he leido todos , en ninguno de ellos he podido encontrar la solucion completa a mi problema, y eso que con el post anteriormente reseñado iba todo como la seda hasta que descubrí el tema este de "marcar como leido" que no funciona.

Bueno, gracias de antemano y espero que me podais ayudar, ya que tengo que poner la plataforma en funcionamiento en breve y no se si estará totalmente en buen funcionamiento.

Este post tambien lo he puesto en Cosas de administradores, ya que no sabia bien donde era el sitio mas apropiado para ponerlo.

Gracias.

Promedio de valoraciones: -