
Estamos usando Apache en un servidor Ubuntu para alojar nuestros sitios web. Los certificados SSL se proporcionan mediante LetsEncrypt y todo funcionó bien durante los últimos años.
El viernes pasado intenté renovar uno de los certificados y no funcionó. Las carpetas .well-known/acme-challenge no se crean, probé varias cosas en los últimos días y ahora es aún peor: tenemos un dominio principal domain1.de y un segundo dominio domain2.com. domain1.de funciona bien con SSL. domain2.com ahora siempre muestra el sitio domain1.de.
Los archivos de configuración son para domain1.de:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain1.de
ServerAlias www.domain1.de
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
y SSL:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName domain1.de
ServerAlias www2.domain1.de
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www2.domain1.de/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www2.domain1.de/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www2.domain1.de/fullchain.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
Los archivos de configuración son para domain2.com:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/domain2.com
ErrorLog ${APACHE_LOG_DIR}/error_journalsuite_com.log
CustomLog ${APACHE_LOG_DIR}/access_journalsuite_com.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =domain2.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
apachectl -S salida:
root@domain1new /var/www/domain2.com # apachectl -S
VirtualHost configuration:
*:443 domain1.de (/etc/apache2/sites-enabled/domain1.de-ssl.conf:2)
*:80 is a NameVirtualHost
default server domain1.de (/etc/apache2/sites-enabled/domain1.de.conf:1)
port 80 namevhost domain1.de (/etc/apache2/sites-enabled/domain1.de.conf:1)
alias www2.domain1.de
port 80 namevhost domain2.com (/etc/apache2/sites-enabled/domain2.com.conf:1)
alias www.domain2.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex proxy: 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
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
Pasé algún tiempo buscando aquí y en otros sitios y en este momento estoy perdido. ¿Algún consejo o idea?
Gracias
Respuesta1
Falta la configuración para el puerto HTTPS 443 para domain2.com. El HTTP con el puerto 80 funciona. Si lo prueba, curl -v http://domain2.com
verá que funciona pero redirige a https://domain2.com
(según su RewriteRule
) que no tiene la configuración adecuada y usa el VirtualHost _default_:443
dominio predeterminado domain1.de
. Si consulta, curl -v -k https://domain2.com
verá que presenta un certificado TLS para domain1.de
y lo hace 301 Redirect
para https://www2.domain1.de/
.
Para resolver su problema, debe crear <VirtualHost *:443>
una ServerName domain2.com
configuración de SSLEngine adecuada.