Welcome to Pandora FMS Community!

Find answers, ask questions, and connect with our community around the world.

Welcome to Pandora FMS Community Forums Soporte de la comunidad Configuración con docker-compose y proxy reverso para https

  • Configuración con docker-compose y proxy reverso para https

    Posted by cgnunez on March 13, 2021 at 19:09

    Como estan, estaba realizando pruebas con la versión official y docker-compose.

    Funciona bien, pero al tratar de realizar una configuración con proxy reverso para el acceso a a través de https a la pandora-console, no puedo lograr que funcione correctamente.
    He utilizado la opcion PUBLICURL, con diferentes valores:
    https://monitoreo.prueba.com
    monitoreo.prueba.com
    Y en todos lo casos ocurre lo mismo, la pagina de login se visualiza, pero con faltantes y demora mucho.
    Y luego del login se redirecciona a la ip local.

    http://192.168.11.5:8282/pandora_console/index.php?login=1

    Alguien pudo realizar una configuración similar, alguna sugerencia?
    Muchas Gracias.

    Rafael replied 2 years, 9 months ago 5 Members · 6 Replies
  • 6 Replies
  • pperboz

    Member
    November 13, 2021 at 13:28
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Qué proxy inverso utilizas? En mi caso con el proxy de synology he tenido que habilitar en algún momento websocket en los ajustes para que me funcionara algún contenedor a través del proxy

    Si te sirve de ayuda:
    https://mariushosting.com/synology-how-to-add-wildcard-certificate/

    Puedes pasarme el docker compose de tu instalación para ver como conseguir la persistencia en el contenedor?
    Gracias

  • Rafael

    Moderator
    December 30, 2021 at 08:18
    525 Karma points
    Community rank: tentacle_master_icon Tentacle Master
    Like it
    Up
    1
    Down
    Drop it
    ::

    Hola, asumiendo que tienes configurado correctamente el proxy ya que llegas a la consola. En cuanto al public url (depende de como esté hecha la redirección, claro) por lo general deberías apuntar a https://url/pandora_console.

    Nosotros usamos nginx para las pruebas con reverse proxy y https y no hemos tenido ningún problema.

    Por otro lado, si tienes ambos puertos el http y el https es conveniente marcar el token force public url, asi te aseguras que siempre la utilizara.

  • Heriberto

    Member
    February 27, 2022 at 00:39
    14 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola que tal, tengo el mismo problema, por pura suerte encontraste la solución?

  • Heriberto

    Member
    February 27, 2022 at 01:01
    14 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Obtengo en la consola:

    GET https://monitoreo.prueba.com:80/pandora_console/include/styles/common.css net::ERR_SSL_PROTOCOL_ERROR

    La configuración de mi nginx:

    server {

    listen 80;

    server_name _;

    rewrite ^ https://$host$request_uri? permanent;

    }

    server {

    listen 443 ssl;

    server_name monitoreo.prueba.com;

    #

    #

    location / {

    #

    proxy_pass http://192.168.11.5:8082;

    }

    }

    Alguna ayuda que me puedan dar??

  • Nuno

    Member
    February 28, 2022 at 15:18
    10 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    I have the same problem

    docker running on port 8080 (http://192.168.4.6:8080/pandora_console/) working fine

    with reverse proxy activated with https the access is working but not everything is loaded .. checking source code shows https://pandora.mydomain.com:80/pandora_console/

    <pre data-placeholder=”Übersetzung”>Tengo el mismo problema
    docker ejecutándose en el puerto 8080 (http://192.168.4.6:8080/pandora_console/) con el proxy inverso activado con https, el acceso funciona pero no todo está cargado. Verificando el código fuente muestra https://pandora.mydomain.com:80/pandora_console/

  • Rafael

    Moderator
    March 7, 2022 at 16:36
    525 Karma points
    Community rank: tentacle_master_icon Tentacle Master
    Like it
    Up
    1
    Down
    Drop it
    ::

    Creo que el problema de Heriberto está en la ip del proxypass, ya que está apuntando a la ip externa desde dentro del host, aquí lo suyo es apuntar a la interna bien sea ip o mejor aún el nombre dns interno definido en el servicio del compose.

    Nuno, por otra parte, está un paso más adelante, ya le funciona correctamente el compose y la redirección del proxypass, pero no le estará cargando el javascript ni el css por el tema del ssl, esto se resuelve con una configuración de la consola.

    Voy a dejar aqui un compose que esta actualmente en producción tiene varias cosas opcionales pero funciona correctamente:

    docker_compose.yml

    version: '3'

    services: db_demos: image: pandorafms/pandorafms-percona-base restart: always #volumes: # - ./pandora_env/percona/mysql_data:/var/lib/mysql/ # path to persist data command: ["mysqld", "--innodb-buffer-pool-size=800M"] # set buffer size environment: MYSQL_ROOT_PASSWORD: pandora MYSQL_DATABASE: pandora MYSQL_USER: pandora MYSQL_PASSWORD: pandora networks: pandora: aliases: - dbdemos pandora_demos: image: pandorafms/pandorafms-open-stack-el8:latest restart: always depends_on: - db_demos volumes: - ./pandora_env/persistence/attachment/:/var/www/html/pandora_console/attachment/ # path to persist data environment: MYSQL_ROOT_PASSWORD: pandora DBHOST: db_demos DBNAME: pandora DBUSER: pandora DBPASS: pandora DBPORT: 3306 INSTANCE_NAME: pandora01 PUBLICURL: https://testenv.artica.es/pandora_console #set publicurl SLEEP: 10 RETRIES: 5 networks: pandora: aliases: - pandorademos ports: - 41121:41121 - 9995:9995/udp - 8080:80 expose: - "80" reverse: restart: always container_name: reverse hostname: reverse depends_on: - pandora_demos image: nginx ports: - 80:80 - 443:443 volumes: - ./nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:ro # path to config file - ./nginx/cert/:/etc/nginx/cert/ # path to certificates networks: - pandora networks: pandora:

    Fichero de configuración de nginx

    server {

    listen 80;

    server_name testenv.artica.es;

    #We remove any location-blocks from here, since this server-block just redirects everything

    return 301 https://$server_name$request_uri;

    }

    server {

    listen 443 ssl;

    server_name testenv.artica.es;

    ssl_certificate /etc/nginx/cert/artica_es.crt;

    ssl_certificate_key /etc/nginx/cert/artica_es.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_ciphers HIGH:!aNULL:!MD5;

    proxy_read_timeout 600;

    #charset koi8-r;

    #access_log /var/log/nginx/host.access.log main;

    location / {

    proxy_pass http://pandorademos/;

    proxy_redirect off;

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header X-Forwarded-Host $server_name;

    }

    }

    Tened en cuenta que yo estoy usando mi url personalizada y mis certificados.

    Como veis en el compose hay una variable de entorno PUBLICURL esto es para configurar de forma automatica el public url que usara en la consola, que es la parte que sospecho que Nuno no tiene configurado.


    Está en esta sección de la captura, que es para indicar a la consola que se entrara a ella desde esa url.