LimeSurvey nginx Beispielkonfiguration
From LimeSurvey Manual
Nginx-Konfigurationsbeispiel für LimeSurvey
Nachfolgend finden Sie eine Beispielkonfiguration für die Ausführung von LimeSurvey mit nginx und PHP-FPM. Passen Sie Pfade, Domainnamen und PHP-FPM-Socket-/Port-Einstellungen an Ihre Serverkonfiguration an.
Hinweis: Dies ist ein einfaches Beispiel. Überprüfen und passen Sie es stets an Ihre eigenen Sicherheitsanforderungen an, bevor Sie es in der Produktion einsetzen.
server {
listen 80;
server_name survey.example.com;
# Redirect all HTTP traffic to HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name survey.example.com;
root /var/www/limesurvey;
index index.php;
# SSL certificates
ssl_certificate /etc/ssl/certs/survey.example.com.crt;
ssl_certificate_key /etc/ssl/private/survey.example.com.key;
# Recommended SSL settings
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
client_max_body_size 100M;
access_log /var/log/nginx/limesurvey_access.log;
error_log /var/log/nginx/limesurvey_error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
# Deny access to hidden files and sensitive directories
location ~ /\.(?!well-known).* {
deny all;
}
location ~* /(application|protected|modules|framework|db|application/config)/ {
deny all;
}
location ~* \.(log|sql|htaccess)$ {
deny all;
}
# Allow LimeSurvey to serve uploaded files and assets
location /upload/ {
try_files $uri $uri/ =404;
}
location /tmp/ {
deny all;
}
}
Erläuterung der wichtigsten Direktiven
-
fastcgi_pass: Verweist auf den PHP-FPM-Socket oder die TCP-Adresse, die PHP-Anfragen verarbeitet. Passen Sie dies an Ihre PHP-FPM-Pool-Konfiguration an. -
try_files: Stellt sicher, dass URLs korrekt über den Front-Controller von LimeSurvey (index.php) geleitet werden. -
client_max_body_size: Erhöht die maximale Upload-Größe, nützlich für Umfragen mit Fragen zum Datei-Upload. - Verweigerungsregeln: Blockiert den direkten Webzugriff auf Konfigurationsdateien, Protokolle und Anwendungsverzeichnisse, die niemals öffentlich erreichbar sein sollten.