Tengo un apache que aloja sitios web.000-default.confparawww.dominio1.com
otro esdominio2.confparawww.dominio2.com
y tiene una configuración como esta
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName activity.domain2.com
ProxyPass / http://activity.domain2.com:8000
ProxyPassReverse / http://activity.domain2.com:8000
</VirtualHost>
dominio2esta apuntandohttp://actividad.dominio2.com:8000que fue servido por Nginx
para Nginx el servidor está configurado así
server {
listen 8000;
server_name activity.domain2.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /root/domain2;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
todo esta bien conwww.dominio1.com
Excepto cuando cargowww.dominio2.com, solo se entrega el archivo html pero la solicitud del archivo estático es un error con el códigoerror de proxy 502
¿Cómo puedo arreglar esto?
Actualizar:
Decido usar nginx frente a Apache para solucionar el problema. Pero aún quiero saber la respuesta si es posible.Respuesta1
Para empezar: parece que te falta una barra diagonal
ProxyPass / http://activity.domain2.com:8000
^
add a "/" here _/
Desde elmanual:
Si el primer argumento termina con un final
/
, el segundo argumento también debe terminar con un final/
, y viceversa. De lo contrario, las solicitudes resultantes al backend pueden omitir algunas barras diagonales necesarias y no ofrecer los resultados esperados.
En segundo lugar, un error de proxy generalmente se registra en sus registros (de errores) y, como ocurre con la mayoría de los errores, la entrada del registro generalmente irá acompañada de información de depuración más útil que la que se devuelve al visitante del sitio. Primero verifique los registros de Apache, pero no olvide revisar también los registros del servidor back-end nginx.