Alfresco / alfresco-docker-installer

Generator to build Docker Compose templates to deploy Alfresco Community
Other
140 stars 57 forks source link

No consigo mostrar el Alfresco content application con un contexto de content-app en el proxy #182

Closed antoniorv75 closed 9 months ago

antoniorv75 commented 9 months ago

Buenos días,

Me está resultando muy complicado el mostrar bajo el contexto del proxy content-app el Alfresco content application. Mi objetivo es que quiero que bajo mi dominio : https://dts-lab..com quiero que se vea el alfresco share, y tan solo si se pone https://dts-lab..com/content-app se vea el Alfresco content application ya que me gustaría disponer de el también pero solo de manera opcional bajo esa dirección. El problema es que actualmente no consigo hacer que se vea ACA si lo intento en /context-app, sólamente lo consigo si lo pongo directamente en https://dts-lab..com sustituyendo

En mi docker-compose.yml tengo:

` content-app: image: alfresco/alfresco-content-app:${ACA_TAG} mem_limit: 256m environment:

APP_BASE_SHARE_URL: "https://${SERVER_NAME}/#/preview/s"

        APP_BASE_SHARE_URL: "https://${SERVER_NAME}/#/preview/s"
    depends_on:
        - alfresco

# HTTP proxy to provide HTTP Default port access to services
# SOLR API and SOLR Web Console are protected to avoid unauthenticated access
proxy:
    image: nginx:stable-alpine
    mem_limit: 128m
    depends_on:
        - alfresco
        - solr6
        - share
        - content-app
    volumes:
        - ./config/nginx.conf:/etc/nginx/nginx.conf
        - ./config/nginx.htpasswd:/etc/nginx/conf.d/nginx.htpasswd
        - ./config/cert/bundle-SSL3455418.pem:/etc/nginx/localhost.cer
        - ./config/cert/SSL3455418.key:/etc/nginx/localhost.key
    ports:
        - 443:443
    links:
        - content-app
        - share
        - alfresco

En el nginx.config tengo: worker_processes 1;

events { worker_connections 1024; }

http { server {

    listen *:443 ssl;

    ssl_certificate             /etc/nginx/localhost.cer;
    ssl_certificate_key         /etc/nginx/localhost.key;
    ssl_prefer_server_ciphers   on;
    ssl_ciphers         EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
    ssl_protocols               TLSv1.2 TLSv1.3;

    client_max_body_size 0;

    set  $allowOriginSite *;
    proxy_pass_request_headers on;
    proxy_pass_header Set-Cookie;

    # Increment timeout values
    proxy_connect_timeout 600;
    proxy_send_timeout    600;
    proxy_read_timeout    600;
    send_timeout          600;

    # External settings, do not remove
    #ENV_ACCESS_LOG

    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;
    proxy_buffering off;
    proxy_set_header Host            $host:$server_port;
    proxy_set_header X-Real-IP       $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass_header Set-Cookie;

    location ~ ^(/.*/service/api/solr/.*)$ {return 403;}
    location ~ ^(/.*/s/api/solr/.*)$ {return 403;}
    location ~ ^(/.*/wcservice/api/solr/.*)$ {return 403;}
    location ~ ^(/.*/wcs/api/solr/.*)$ {return 403;}
    location ~ ^(/.*/proxy/alfresco/api/solr/.*)$ {return 403 ;}
    location ~ ^(/.*/-default-/proxy/alfresco/api/.*)$ {return 403;}

    # Alfresco Content Application Proxy
    location / {
      #proxy_pass http://content-app:8080;  #si lo pongo aqui esto me funciona pero no es lo que busco
      proxy_pass http://alfresco:8080;
    }

    # poniendo esto, me da error 404
    location /content-app/ {
      proxy_pass http://content-app:8080;
    }

    # Repository Proxy
    location /alfresco/ {
      proxy_pass http://alfresco:8080;
    }

    # Api-Explorer Proxy
    location /api-explorer/ {
      proxy_pass http://alfresco:8080;
    }

    # Share Proxy
    location /share/ {
      proxy_pass http://share:8080;
    }

    # SOLR Proxy
    location /solr/ {
      proxy_pass http://solr6:8983;
      auth_basic "Solr web console";
      auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
    }
}

` El error que se produce cuando se pone la url : https://dts-lab.com/content-app es lo siguiente

"/usr/share/nginx/html/content-app/index.html" is not found (2: No such file or directory), client: xxxxx, server: localhost, request: "GET /content-app/ HTTP/1.0", host: "dts-lab.xxxx:443"

A ver si me puedes dar una pista Angel para poder hacerlo con este contexto. Gracias de antemano

aborroy commented 9 months ago

Para cambiar el contexto de ACA, usa esta regla para NGINX:

        location /content-app/ {
          proxy_pass http://content-app:8080/;
          absolute_redirect off;
        }
antoniorv75 commented 9 months ago

Si, muchas gracias, parece que funciona. ¿como puedo hacer para que no salga esta caja de login? image

Muchas gracias de antemano

antoniorv75 commented 9 months ago

Perdon, ví por lo que era. El problema está cuando haces logout desde una pagina que te encuentres. Si intentas hacer login luego poniendo la url arriba, de alguna manera pregunta esto en esa ventana si ya te encontrabas en otro lugar distinto al login , hasta que le das a cancel y redirecciona al login bien.