Keitaro на NGINX/PHP-FPM

Защита файлов

При использовании PHP-FPM важно закрыть доступ к файлу конфигурации application/config/config.ini.

  location ~* /(var|lib|application)/.*$ {
    return 403;
  }
 
  location ~* \.ini$ {
    return 403;
  }

Поддержка URL'ов групп

Для симуляции mod_rewrite на Nginx, необходимо использовать try_files. Пример использования:

location / {
  try_files $uri $uri/ /index.php?$args;
}

Пример конфигурации домена в Nginx

server {
  # server IP and port
  listen 151.236.29.195:80;
 
  # domain name
  server_name domain.com www.domain.com;
 
  # root path
  set $root_path /home/domain.com;
 
  root $root_path;
 
  charset utf-8;
  index index.php;
 
  location ~* \.(jpg|jpeg|gif|png|js|css|txt|zip|ico|gz|csv)$ { 
    access_log off;  
    expires 10d;
  }
 
  location ~* /(var|lib|application)/.*$ {
    return 403;
  }
 
  location ~* \.(htaccess|ini|dat)$ {
    return 403;
  }
 
  location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
  }
 
  location / {
    try_files $uri $uri/ /index.php?$args;
  }
}