nuxsmin / docker-syspass

Docker stuff for running sysPass on Docker
GNU General Public License v3.0
39 stars 21 forks source link

Usage of a web proxy #38

Open GV-007 opened 4 years ago

GV-007 commented 4 years ago

Hi, i try to deploy the latest syspass version with authenticator plugin in Docker, currently i run into issues as outbound internet connectivity is only allowed via a web-proxy. I already tried to add environment variables http_proxy='http://IP:PORT' and same for https_proxy, but I still see outbound connection attempts on the firewall. The log-files show a connection time-out:

entrypoint: Starting with UID : 9001
setup_app: Setting up permissions
setup_composer_extensions: 'syspass/plugin-authenticator'
~ /var/www/html
run_composer: Running composer

  [Composer\Downloader\TransportException]
  The "https://repo.packagist.org/packages.json" file could not be downloaded: failed to open stream: Connection timed out

require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...

/var/www/html
setup_locales: Setting up locales
Generating locales (this might take a while)...
  ca_ES.UTF-8... done
  de_DE.UTF-8... done
  en_GB.UTF-8... done
  en_US.UTF-8... done
  es_ES.UTF-8... done
  fr_FR.UTF-8... done
  it_IT.UTF-8... done
  nl_NL.UTF-8... done
  pl_PL.UTF-8... done
  pt_BR.UTF-8... done
  ru_RU.UTF-8... done
  da.UTF-8...cannot open locale definition file `da': No such file or directory
 done
  fo.UTF-8...cannot open locale definition file `fo': No such file or directory
 done
Generation complete.
######
sysPass environment installed and configured. Please point your browser to https://172.21.0.3 to start the installation
######
entrypoint: Starting Apache
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.21.0.3. Set the 'ServerName' directive globally to suppress this message
[Fri Mar 27 10:53:27.620800 2020] [ssl:warn] [pid 723] AH01909: 172.21.0.3:443:0 server certificate does NOT include an ID which matches the server name
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.21.0.3. Set the 'ServerName' directive globally to suppress this message
[Fri Mar 27 10:53:27.661011 2020] [ssl:warn] [pid 723] AH01909: 172.21.0.3:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 27 10:53:27.664333 2020] [mpm_prefork:notice] [pid 723] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2s configured -- resuming normal operations
[Fri Mar 27 10:53:27.664364 2020] [core:notice] [pid 723] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
[Fri Mar 27 10:53:36.469519 2020] [:error] [pid 725] [client 10.127.203.6:53436] [INFO] [Extensions checked] SP\\Core\\PhpExtensionChecker::checkMandatory, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:53:36.819728 2020] [:error] [pid 725] [client 10.127.203.6:53436] [EXCEPTION] [File not found (/var/www/html/sysPass/app/cache/icons.cache)\n#0 /var/www/html/sysPass/lib/SP/Storage/File/FileCacheBase.php(70): SP\\Storage\\File\\FileHandler->checkFileExists()\n#1 /var/www/html/sysPass/lib/SP/Core/UI/Theme.php(159): SP\\Storage\\File\\FileCacheBase->isExpired(Integer)\n#2 /var/www/html/sysPass/lib/SP/Core/UI/Theme.php(127): SP\\Core\\UI\\Theme->initIcons()\n#3 /var/www/html/sysPass/app/modules/web/Init.php(173): SP\\Core\\UI\\Theme->initTheme(Boolean)\n#4 /var/www/html/sysPass/lib/SP/Bootstrap.php(232): SP\\Modules\\Web\\Init->initialize(String)\n#5 [internal function]: SP\\Bootstrap->SP\\{closure}(Object(Klein\\Request),Object(Klein\\Response),Object(Klein\\ServiceProvider),Object(Klein\\App),Object(Klein\\Klein),Object(Klein\\DataCollection\\RouteCollection),Array)\n#6 /var/www/html/sysPass/vendor/klein/klein/src/Klein/Klein.php(886): call_user_func(Object(Closure),Object(Klein\\Request),Object(Klein\\Response),Object(Klein\\ServiceProvider),Object(Klein\\App),Object(Klein\\Klein),Object(Klein\\DataCollection\\RouteCollection),Array)\n#7 /var/www/html/sysPass/vendor/klein/klein/src/Klein/Klein.php(588): Klein\\Klein->handleRouteCallback(Object(Klein\\Route),Object(Klein\\DataCollection\\RouteCollection),Array)\n#8 /var/www/html/sysPass/lib/SP/Bootstrap.php(464): Klein\\Klein->dispatch(Object(Klein\\Request))\n#9 /var/www/html/sysPass/lib/Base.php(75): SP\\Bootstrap->run(Object(DI\\Container))\n#10 /var/www/html/sysPass/index.php(28): require(String)] N/A, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:53:36.821129 2020] [:error] [pid 725] [client 10.127.203.6:53436] [INFO] [Saved icons cache] SP\\Core\\UI\\Theme::saveIcons, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:53:36.834568 2020] [:error] [pid 725] [client 10.127.203.6:53436] [EXCEPTION] [File not found (/var/www/html/sysPass/app/cache/actions.cache)\n#0 /var/www/html/sysPass/lib/SP/Storage/File/FileCacheBase.php(70): SP\\Storage\\File\\FileHandler->checkFileExists()\n#1 /var/www/html/sysPass/lib/SP/Core/Acl/Actions.php(90): SP\\Storage\\File\\FileCacheBase->isExpired(Integer)\n#2 /var/www/html/sysPass/lib/SP/Core/Acl/Actions.php(78): SP\\Core\\Acl\\Actions->loadCache()\n#3 /var/www/html/sysPass/lib/Definitions.php(77): SP\\Core\\Acl\\Actions->__construct(Object(SP\\Storage\\File\\FileCache),Object(SP\\Storage\\File\\XmlHandler))\n#4 [internal function]: DI\\Definition\\Source\\DefinitionFile->{closure}(Object(DI\\Container))\n#5 /var/www/html/sysPass/vendor/php-di/invoker/src/Invoker.php(82): call_user_func_array(Object(Closure),Array)\n#6 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/FactoryResolver.php(80): Invoker\\Invoker->call(Object(Closure),Array)\n#7 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(64): DI\\Definition\\Resolver\\FactoryResolver->resolve(Object(DI\\Definition\\FactoryDefinition),Array)\n#8 /var/www/html/sysPass/vendor/php-di/php-di/src/Container.php(380): DI\\Definition\\Resolver\\ResolverDispatcher->resolve(Object(DI\\Definition\\FactoryDefinition),Array)\n#9 /var/www/html/sysPass/vendor/php-di/php-di/src/Container.php(138): DI\\Container->resolveDefinition(Object(DI\\Definition\\FactoryDefinition))\n#10 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Reference.php(53): DI\\Container->get(String)\n#11 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(59): DI\\Definition\\Reference->resolve(Object(DI\\Container))\n#12 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/ParameterResolver.php(78): DI\\Definition\\Resolver\\ResolverDispatcher->resolve(Object(DI\\Definition\\Reference))\n#13 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(139): DI\\Definition\\Resolver\\ParameterResolver->resolveParameters(Object(DI\\Definition\\ObjectDefinition\\MethodInjection),Object(ReflectionMethod),Array)\n#14 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(71): DI\\Definition\\Resolver\\ObjectCreator->createInstance(Object(DI\\Definition\\AutowireDefinition),Array)\n#15 /var/www/html/sysPass/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(64): DI\\Definition\\Resolver\\ObjectCreator->resolve(Object(DI\\Definition\\AutowireDefinition),Array)\n#16 /var/www/html/sysPass/vendor/php-di/php-di/src/Container.php(380): DI\\Definition\\Resolver\\ResolverDispatcher->resolve(Object(DI\\Definition\\AutowireDefinition),Array)\n#17 /var/www/html/sysPass/vendor/php-di/php-di/src/Container.php(138): DI\\Container->resolveDefinition(Object(DI\\Definition\\AutowireDefinition))\n#18 /var/www/html/sysPass/app/modules/web/Controllers/Traits/WebControllerTrait.php(140): DI\\Container->get(String)\n#19 /var/www/html/sysPass/app/modules/web/Controllers/SimpleControllerBase.php(64): SP\\Modules\\Web\\Controllers\\SimpleControllerBase->setUp(Object(DI\\Container))\n#20 /var/www/html/sysPass/lib/SP/Bootstrap.php(238): SP\\Modules\\Web\\Controllers\\SimpleControllerBase->__construct(Object(DI\\Container),String)\n#21 [internal function]: SP\\Bootstrap->SP\\{closure}(Object(Klein\\Request),Object(Klein\\Response),Object(Klein\\ServiceProvider),Object(Klein\\App),Object(Klein\\Klein),Object(Klein\\DataCollection\\RouteCollection),Array)\n#22 /var/www/html/sysPass/vendor/klein/klein/src/Klein/Klein.php(886): call_user_func(Object(Closure),Object(Klein\\Request),Object(Klein\\Response),Object(Klein\\ServiceProvider),Object(Klein\\App),Object(Klein\\Klein),Object(Klein\\DataCollection\\RouteCollection),Array)\n#23 /var/www/html/sysPass/vendor/klein/klein/src/Klein/Klein.php(588): Klein\\Klein->handleRouteCallback(Object(Klein\\Route),Object(Klein\\DataCollection\\RouteCollection),Array)\n#24 /var/www/html/sysPass/lib/SP/Bootstrap.php(464): Klein\\Klein->dispatch(Object(Klein\\Request))\n#25 /var/www/html/sysPass/lib/Base.php(75): SP\\Bootstrap->run(Object(DI\\Container))\n#26 /var/www/html/sysPass/index.php(28): require(String)] N/A, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:53:36.834637 2020] [:error] [pid 725] [client 10.127.203.6:53436] [INFO] [ACTION CACHE MISS] SP\\Core\\Acl\\Actions::mapAndSave, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:53:36.836905 2020] [:error] [pid 725] [client 10.127.203.6:53436] [INFO] [Saved actions cache] SP\\Core\\Acl\\Actions::saveCache, referer: https://10.127.100.49:9001/index.php?r=index
10.127.203.6 - - [27/Mar/2020:10:53:36 +0000] "GET /index.php?r=items/notifications&sk=51f7a22ef95b0353ba451b5a5426fd8d410e85d5&isAjax=1&_=1585304975287 HTTP/1.1" 200 1906 "https://10.127.100.49:9001/index.php?r=index" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
[Fri Mar 27 10:55:36.366567 2020] [:error] [pid 727] [client 10.127.203.6:53724] [INFO] [Extensions checked] SP\\Core\\PhpExtensionChecker::checkMandatory, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:55:36.539483 2020] [:error] [pid 727] [client 10.127.203.6:53724] [INFO] [Loaded icons cache] SP\\Core\\UI\\Theme::initIcons, referer: https://10.127.100.49:9001/index.php?r=index
[Fri Mar 27 10:55:36.545250 2020] [:error] [pid 727] [client 10.127.203.6:53724] [INFO] [Loaded actions cache] SP\\Core\\Acl\\Actions::loadCache, referer: https://10.127.100.49:9001/index.php?r=index
10.127.203.6 - - [27/Mar/2020:10:55:36 +0000] "GET /index.php?r=items/notifications&sk=51f7a22ef95b0353ba451b5a5426fd8d410e85d5&isAjax=1&_=1585304975288 HTTP/1.1" 200 626 "https://10.127.100.49:9001/index.php?r=index" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"

Compose file:

version: '2'
services:
  app:
    container_name: syspass-app
    image: syspass/syspass:3.1.0 # Set this version tag to desired one
    restart: always
    # Will listen on ports 80 and 443 of the host
    ports:
      - "9001:443"
    depends_on:
      - db
    volumes:
      - syspass-config:/var/www/html/sysPass/app/config
      - syspass-backup:/var/www/html/sysPass/app/backup
    # Set USE_SSL=no if you're using a LB or reverse proxy for SSL offloading
    environment:
      - USE_SSL=yes
      - COMPOSER_EXTENSIONS='syspass/plugin-authenticator'
      - http_proxy='http://10.127.100.21:3128'
      - https_proxy='http://10.127.100.21:3128'
  db:
    container_name: syspass-db
    restart: always
    image: mariadb:10.2
    # Set a secure password for MariaDB root user
    environment:
      - MYSQL_ROOT_PASSWORD=9-V16PW0pFXMf#HIl!JWF*6C
    # This ports will only be accesible internally
    expose:
      - "3306"
    volumes:
      - syspass-db:/var/lib/mysql

# Persistent volumes to be used across updates
volumes:
  syspass-config:
    driver: local
  syspass-backup:
    driver: local
  syspass-db:
    driver: local

Any solution ? Thanks for your help !

nuxsmin commented 4 years ago

Hello,

sorry for the late reply. I'll try to find out a solution for this use case.

Regards.

nuxsmin commented 3 years ago

Hello,

I seems that composer uses the system wide proxy settings so your ENV vars should work fine. Unfortunately there isn't any specific configuration for making proxy requests through the composer CLI.

Regards