Platforms overview ================== LLNG is able to use different web servers to provide its services. Here is a resume of all possibilities. We recommend: - For installations subject to small/medium load: Nginx with our default FastCGI server, or Apache *(with mpm_prefork engine)* - For heavily loaded installation: Nginx. The choice for FastCGI server engine depends on the behavior of your users Portal/Manager installation --------------------------- Since 2.0, both portal and manager are native FastCGI / PSGI Plack based applications. They can be powered by any FastCGI / PSGI compatible web servers. Some examples: =============================== ================================================================================================ ============================= ============================= ===================================================================================== \ Apache Nginx Plack servers family =============================== ================================================================================================ ============================= ============================= ===================================================================================== **Engines** `mod_fcgid `__ or `mod_fastcgi `__ FastCGI/uWSGI server Any `Plack HTTP server `__ (*see* :doc:`our doc` ) **Link with webserver process** External processes managed by webserver *(default)* External LLNG serve External LLNG server :doc:`Inside` =============================== ================================================================================================ ============================= ============================= ===================================================================================== Application protection overview ------------------------------- Applications can be protected: - by a LLNG handler - by themselves if they can dial with a supported protocol (SAML, OpenID-Connect,...) To protect applications with handler, LLNG can be used in two mode: - Direct Application Mode : LLNG handler is an embedded application. Handler must be installed on application Web Server - ReverseProxy Mode : applications are hidden behind a ReverseProxy which provides the required LLNG handler Handler integration ~~~~~~~~~~~~~~~~~~~ Direct Application Mode ^^^^^^^^^^^^^^^^^^^^^^^ LLNG handlers can be installed on the following web servers: ================================= ========================== =============================================================================== ==================== ================================================================================= \ Apache Nginx Plack servers family Node.js ================================= ========================== =============================================================================== ==================== ================================================================================= **Addon needed** ModPerl Express **LLNG integration in webserver** :doc:`Inside` Separate process: External LLNG FastCGI/uWSGI servers *(auth_request)* :doc:`Inside` `Inside `__ ================================= ========================== =============================================================================== ==================== ================================================================================= ReverseProxy Mode ^^^^^^^^^^^^^^^^^ ============================================== ========================== ============================================================== \ Apache Nginx ============================================== ========================== ============================================================== **LLNG integration in ReverseProxy webserver** :doc:`Inside` Separate process: External LLNG FastCGI/uWSGI servers ============================================== ========================== ============================================================== .. _platformsoverview-external-servers-for-nginx: External servers for Nginx ~~~~~~~~~~~~~~~~~~~~~~~~~~ Nginx supports natively FastCGI and uWSGI protocols. Therefore, LLNG services can be provided by compatible external servers. .. tip:: FastCGI or uWSGI server(s) can be installed on separate hosts. Also you can imagine a global cloud-FastCGI/uWSGI-service for all your Nginx servers. See more at :doc:`SSO as a service (SSOaaS)`. FastCGI ^^^^^^^ By default, LLNG provides a Plack based FastCGI server able to afford all LLNG services using `FCGI `__ engine. However, you can use some other FastCGI server engines: - `AnyEvent::FCGI `__ - `FCGI::EV `__ - `FCGI::Engine `__ - `FCGI::Engine::ProcManager `__ - `FCGI::Async `__ - `LLNG FastCGI server for Node.js `__\ (*) .. danger:: (*) LLNG Node.js handler can only be used as Nginx \`auth_request\` server, not to serve Portal or Manager uWSGI ^^^^^ - uWSGI server (with uwsgi PSGI plugin, see :doc:`Advanced PSGI usage`)