Apache vhost devuelve dos sitios diferentes

Apache vhost devuelve dos sitios diferentes

Tengo dos subdominios configurados en el servidor (principal y provisional) y, para la preparación, devuelve dos rutas diferentes. A veces regresa correcto ( /var/www/html_staging), pero a veces (cuando actualiza el navegador web un par de veces o cuando va a la subpágina) regresa al sitio web principal ( /var/www/html).

Apache 2.4 en Ubuntu 16.04

Hay 3 configuraciones de vhosts, dos para el sitio web principal y una para el ensayo. Hay una redirección de http a https en la configuración de vhost para el puerto 80.

000-default.conf:

<VirtualHost *:80>
    ServerName website.example.com
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    ServerAdmin [email protected]
    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 *:443>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html
        ServerName website.example.com

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

        SSLEngine on
        SSLCipherSuite ALL:!EXP:!NULL:!ADH:!LOW
        SSLCertificateFile /etc/apache2/ssl/*.example.com.crt
        SSLCertificateKeyFile /etc/apache2/ssl/*.example.com.key
        SSLCACertificateFile /etc/apache2/ssl/bundle.crt

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

puesta en escena.conf:

<VirtualHost *:80>
    ServerName websitestaging.example.com
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    ServerAdmin [email protected]
    DocumentRoot /var/www/html_staging

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


<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerName websitestaging.example.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/html_staging

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

        SSLEngine on
        SSLCipherSuite ALL:!EXP:!NULL:!ADH:!LOW
        SSLCertificateFile /etc/apache2/ssl/*.example.com.crt
        SSLCertificateKeyFile /etc/apache2/ssl/*.example.com.key
        SSLCACertificateFile /etc/apache2/ssl/bundle.crt

    </VirtualHost>
</IfModule>

Salida deapache2ctl -S

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server website.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost website.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost websitestaging.example.com (/etc/apache2/sites-enabled/staging.conf:1)
*:443                  is a NameVirtualHost
         default server website.example.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
         port 443 namevhost website.example.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
         port 443 namevhost websitestaging.example.com (/etc/apache2/sites-enabled/staging.conf:15)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

¿Cuál es el motivo de este comportamiento? ¿Por qué solo a veces la etapa de preparación carga el sitio web desde la ruta correcta y otras veces se carga desde la ruta principal? El sitio web principal se cargó correctamente, esto afecta sólo la puesta en escena.

Respuesta1

En caso de que tenga el mismo problema explicado anteriormente. Simplemente reinicie todo el servidor, no solo Apache. Después de reiniciar el servidor, todo funciona correctamente. Probablemente hubo algún tipo de caché o configuración que no se eliminó correctamente y estaba afectando a todo el servidor.

información relacionada