Posted by oskar_calvo on February 26, 2020 at 8:58am
Buenas.
Tengo en un servidor ejecutándose un docker, que escucha en localhost:8082, pero para acceder a esto uso proxypass de Apache, el problema es que Drupal en vez de escribir la ruta correcta escribe la ruta de docker:
http://localhost:8082/sites/default/files/....
Este es mi virtualhost:
ServerAdmin xxxx@xxxx
ServerName project.dev.domain.com
ProxyPass "/" "http://localhost:8082/"
ProxyPassReverse "/" "http://localhost:8082/"
ErrorLog ${APACHE_LOG_DIR}/project.dev.error.log
CustomLog ${APACHE_LOG_DIR}/project.dev.access.log combined
Y esta es la configuración de settings.php que he puesto:
$settings['reverse_proxy'] = TRUE; $settings['reverse_proxy_addresses'] = ['127.0.0.1']; $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED;
Pero sigue poniéndome mal la ruta de las imágenes.
¿Alguien sabe que estoy haciendo mal?
Gracias.
Oskar

Comments
mod_substitute
To override URLs in the html outputted from the proxy you can use
https://httpd.apache.org/docs/2.4/mod/mod_substitute.html
Best,
Gracias @asanchez75, pero lo
Gracias @asanchez75, pero lo suyo es informar a Drupal que estas detras de un proxy y que sea Drupal quien lo gestione y no Apache.
Oskar
reverse_proxy_host_header
Quizás te falte configurar el X_FORWARDED_HOST.. Yo pintaría o depuraría las cabeceras que te llegan y vería en cual te llega el host.
$settings['reverse_proxy_host_header'] = 'X_FORWARDED_HOST';
Saludos.
Gracias, @jncruces , lo miro
Gracias, @jncruces , lo miro a ver.