Configuración del host virtual Redirigiendo la solicitud a la dirección IP local

Configuración del host virtual Redirigiendo la solicitud a la dirección IP local

Quiero que una aplicación que se ejecuta en Apache2 (ubuntu) esté disponible en Internet. Entonces decidí configurar un host virtual después de comprar un certificado SSL. Todo funciona bien en mi red local.

Cuando visito 172.16.2.28/moodle (en la red local), todo funciona bien.

Cuando también visito example.com, recibo el index.php predeterminado de (/var/www/html)

Pero cuando visito example.com/moodle a través de Internet público, el navegador redirige a 172.16.2.28/moodle (con error 404)

Qué estoy haciendo mal.

-

000-default.conf

<VirtualHost *:80>
     

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html



        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

  
</VirtualHost>

default-ssl.conf

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin [email protected]
                ServerName lms.xxx.com
                DocumentRoot /var/www/html 

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                
                SSLEngine on

                
                SSLCertificateFile      /home/vlms/sslcert/cert.pem
                SSLCertificateKeyFile /home/vlms/sslcert/cert.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                <Directory /var/www/html/>

                     Options +FollowSymlinks

                     AllowOverride All

                     Require all granted

                 </Directory>
    </VirtualHost>
</IfModule>

moodle/config.php(¿el problema podría venir de aquí?)

<?php  // Moodle configuration file

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype    = 'mariadb';
$CFG->dblibrary = 'native';
$CFG->dbhost    = '172.16.0.30';
$CFG->dbname    = 'xxx';
$CFG->dbuser    = 'xxx';
$CFG->dbpass    = 'xxx';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
  'dbpersist' => 0,
  'dbport' => '',
  'dbsocket' => '',
  'dbcollation' => 'utf8mb4_general_ci',
);

$CFG->wwwroot   = 'http://172.16.0.30/moodle';
$CFG->dataroot  = '/var/www/moodledata';
$CFG->admin     = 'xxx';

$CFG->directorypermissions = 0777;

require_once(__DIR__ . '/lib/setup.php');

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!

Respuesta1

Moodle te redirige exactamente como lo configuraste:

$CFG->wwwroot   = 'http://172.16.0.30/moodle';

Cambie esa línea a la URL adecuada:

$CFG->wwwroot   = 'https://example.com/moodle';

información relacionada