
Quiero redirigir una determinada subruta a una aplicación backend que se ejecuta en el puerto 19011. Mi archivo de configuración ( /etc/apache2/sites-available/my_domain.conf
) tiene este aspecto:
<VirtualHost *:80>
ServerName my_domain
DocumentRoot /var/www/my_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass /my_subpath/ http://localhost:19011/
ProxyPassReverse /my_subpath/ http://localhost:19011/
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/letsencrypt/live/my_domain/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my_domain/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ServerName my_domain
DocumentRoot /var/www/my_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass /my_subpath/ http://localhost:19011/
ProxyPassReverse /my_subpath/ http://localhost:19011/
</VirtualHost>
Esta configuración funciona con HTTP, pero no con HTTPS:
http://my_domain/my_subpath
va a la aplicación backend según lo previsto, mientras quehttps://my_domain/my_subpath
regresa 404
Soy un novato de Apache, así que no sé por qué esto no funciona. Tampoco veo ningún error en los registros de Apache. ¿Qué me falta en el archivo conf?
Versiones:
- Apache: 2.4.29
- Sistema operativo: Ubuntu 18.04.5
Respuesta1
Resultó que no había nada malo con mi archivo de configuración. Había otro archivo de configuración llamado my_domain-le-ssl.conf
, /etc/apache2/sites-available
que se creó automáticamente después de que creé el certificado SSL con Letsencrypt. Ese archivo conf también contenía un host virtual para el puerto 443, y Apache lo estaba usando para atender solicitudes SSL.
En caso de duda, ejecute sudo apachectl -S
para ver la configuración de su host virtual activo. En mi caso me devolvió algo como esto:
*:80 my_domain (/etc/apache2/sites-enabled/my_domain.conf:1)
*:443 my_domain (/etc/apache2/sites-enabled/my_domain-le-ssl.conf:2)
*:443 my_domain (/etc/apache2/sites-enabled/my_domain.conf:10)