Configurazione avanzata
Lizmap dietro un Proxy/reverse proxy
A volte, alcuni URL in Lizmap possono non essere quello che volevi. Per esempio, stanno usando il protocollo «http» invece del protocollo «https». O potrebbero contenere una porta indesiderata ( http://mydomain:5468/
invece di http://mydomain/
). O l’url potrebbe non contenere il vero nome del dominio.
Nella maggior parte dei casi, questo è dovuto al fatto che il server web o PHP-fpm è dietro un server web master (che agisce come proxy o reverse proxy), e quindi i parametri di ambiente dati da PHP o dal server web backend a Lizmap sono sbagliati.
Potete dire a Lizmap di forzare l” HTTPS, di usare il dominio giusto o di usare la porta giusta.
In localconfig.ini.php
, puoi usare i seguenti parametri di configurazione.
Per forzare l’uso della porta 80 (true) o la 8080 per esempio con il protocollo http:
forceHTTPPort = true
# or
forceHTTPPort = 8080
Per forzare l’uso della porta 443 (true) o la 8443 per esempio con il protocollo https:
forceHTTPSPort = true
# or
forceHTTPSPort = 8443
Per specificare il nome del dominio della vostra applicazione Lizmap, se Lizmap non riesce ad indovinarlo:
domainName = www.example.com
Se il percorso URL del server web di backend non corrisponde al percorso URL del server web frontale (es: il proxy reindirizza url come http://example.com/index.php
al tuo server web http://backend.example.com/foo/bar/index.php
, devi indicare il percorso URL «pubblico» (basePath) e il percorso URL di backend (backendBasePath):
[urlengine]
basePath= /
backendBasePath = /foo/bar
Se il reverse proxy reindirizza la richiesta HTTPS a HTTP, devi disattivare il controllo HTTPS:
[urlengine]
checkHttpsOnParsing = off
A partire da Lizmap 3.0.18 e 3.1.6, è possibile indicare di forzare tutti gli URL generati con il protocollo HTTPS, quando Lizmap non sa qual è il protocollo utilizzato dalle richieste sul reverse proxy:
[urlengine]
checkHttpsOnParsing = off
forceProxyProtocol = https
Utilizzare le variabili d’ambiente
Se alcune credenziali o parametri sono disponibili in variabili d’ambiente, puoi indicarle nei file localconfig.ini.php
o profiles.ini.php
. Assicurati che le variabili d’ambiente siano disponibili al processo PHP-FPM o al processo APACHE/NGINX.
In questi files viene usata la sintassi «${VARIABILE_NOME}».
Per esempio, per utilizzare le credenziali postgresql salvate nelle seguenti variabili:
LIZMAP_PGSQL_HOST=localhost
LIZMAP_PGSQL_DATABASE=lizmap
LIZMAP_PGSQL_LOGIN=admin
LIZMAP_PGSQL_PASSWORD="Sup3Rp4ssw0rd!"
nel file profiles.ini.php si scrive:
[jdb:jauth]
driver="pgsql"
database=${LIZMAP_PGSQL_DATABASE}
host=${LIZMAP_PGSQL_HOST}
user=${LIZMAP_PGSQL_LOGIN}
password=${LIZMAP_PGSQL_PASSWORD}