Apache sirve subdominio en lugar de dominio

Apache sirve subdominio en lugar de dominio

Tenía dos sitios en funcionamiento en mi servidor ( nextcloud.example.com(Nextcloud Instance) y example.com(Grav Instance)). Agregué una configuración de Postfix en el servidor y ahora también puedo enviar correos electrónicos. Pero arruiné algo con mis certificados, así que los rehice...

Elproblema principalAhora es eso, siempre que intento abrir, example.comsiempre aparece una llamada example.com/index.php/loginque muestra la página de inicio de sesión, nextcloud.example.compero espero mi página principal de Grav. Además, cuando llamo, example.com/adminse resuelve example.com/index.php/login.

Soy bastante nuevo en este tema, así que espero que estos sean los datos relevantes:

$ apachectl configtest
Syntax OK

Inserté mis archivos de configuración aquí, pero StackExchange marcó mi área de texto como spam. Entonces los eliminé. Me complace brindarle más información, simplemente no se me permitió...

EDITAR:

apache2ctl -S
VirtualHost configuration:
127.0.1.1:443          example.com (/etc/apache2/sites-enabled/example.com-le-ssl.conf:2)
127.0.1.1:80           example.com (/etc/apache2/sites-enabled/example.com.conf:1)
5.252.225.176:443      nextcloud.example.com (/etc/apache2/sites-enabled/nextcloud.example.com-le-ssl.conf:2)
5.252.225.176:80       nextcloud.example.com (/etc/apache2/sites-enabled/nextcloud.example.com.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
<VirtualHost nextcloud.example.com:443>
  DocumentRoot /var/www/nextcloud.example.com/htdocs/
  ServerName  nextcloud.example.com

  <Directory /var/www/nextcloud.example.com/htdocs/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
RewriteEngine off
# Some rewrite rules in this file were disabled on your HTTPS site,
# because they have the potential to create redirection loops.

#RewriteCond %{SERVER_NAME} =nextcloud.example.com
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost example.com:443>
  DocumentRoot /var/www/example.com/htdocs/
  ServerName  example.com

  <Directory /var/www/example.com/htdocs/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
RewriteEngine on
# Some rewrite rules in this file were disabled on your HTTPS site,
# because they have the potential to create redirection loops.

#RewriteCond %{SERVER_NAME} =example.com
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

Respuesta1

Probablemente necesites cambiar los nombres de host en tus directivas VirtualHost a *. Es decir, en lugar de

<VirtualHost nextcloud.example.com:443>
  ServerName  nextcloud.example.com
  ...
</VirtualHost>
<Virtualhost example.com:443>
  ServerName  example.com
  ...
</VirtualHost>

intentar

<VirtualHost *:443>
  ServerName  nextcloud.example.com
  ...
</VirtualHost>
<Virtualhost *:443>
  ServerName  example.com
  ...
</VirtualHost>

Generalmente, el argumento de VirtualHost debe ser una dirección IP o *coincidir con todas las direcciones IP.

El primer formulario anterior fallará si la dirección IP donde Apache recibe la conexión es diferente de la dirección DNS de ejemplo.com; por ejemplo, si ejemplo.com está detrás de un proxy. En ese caso, Apache volverá a servir desde el host virtual predeterminado, que es el primero, que en su caso parece ser nextcloud.example.com.

VerAnfitrión virtual, yHosts virtuales basados ​​en nombres.

información relacionada