Журналы очень важны в системе для отслеживания действий приложения, поскольку они предоставляют полезную информацию для отладки и позволяют анализировать все аспекты веб-сервера. Как и другие программные приложения, Nginx также поддерживает такие события, как посещение вашего веб-сайта, обнаруженные проблемы и многое другое, для регистрации файлов. Полезная записанная информация используется для принятия превентивных мер, чтобы иметь дело с серьезными несоответствиями в событиях журнала. Читать
Архив метки: nginx
Команды Nginx, которые вы должны знать
Nginx произносится как «движок x» — это бесплатный высокопроизводительный HTTP-сервер и обратный прокси-сервер с открытым исходным кодом, отвечающий за обработку нагрузки некоторых из крупнейших сайтов в Интернете. Его можно использовать как автономный веб-сервер и как обратный прокси-сервер для Apache и других веб-серверов.
Если вы разработчик или системный администратор, скорее всего, вы имеете дело с Nginx на регулярной основе.
В этом руководстве мы рассмотрим наиболее важные и часто используемые команды Nginx, включая запуск, остановку и перезапуск Nginx. Читать
Настройка обратного прокси Nginx
Обратный прокси-сервер — это служба, которая принимает запрос клиента, отправляет запрос одному или нескольким прокси-серверам, получает ответ и доставляет ответ сервера клиенту.
Благодаря своей производительности и масштабируемости NGINX часто используется в качестве обратного прокси-сервера для HTTP-серверов и серверов, отличных от HTTP. Типичная конфигурация обратного прокси-сервера — поставить Nginx перед приложениями Node.js , Python или Java . Читать
Установка в Docker-Compose WordPress на Nginx и PHP под Ubuntu

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами. Читать
Настраиваем HTTP заголовки WEB-сервера Nginx
Сегодня в статье поговорим как Настроить HTTP заголовки WEB-сервера Nginx и обезопасить ваш сервер от различных атак.
HTTP заголовки WEB-сервера Nginx
Для начала давайте откроем конфигурационный файл WEB сервера Nginx
sudo nano /etc/nginx/nginx.conf
Найдите раздел HTTP, в этом разделе определяются конфигурации для HttpCoreModule Nginx. Добавьте следующую директиву:
server_tokens off;
Это запретит Nginx отправлять номера версий в заголовке HTTP.
Перезагрузите конфигурацию Nginx Чтобы применить это изменение:
sudo service nginx reload
X-XSS-Protection
Заголовок X-XSS-Protection может предотвратить некоторые XSS-атаки («межсайтовый скриптинг»), он совместим с IE 8+, Chrome, Opera, Safari и Android.
Добавьте следующее в nginx.conf в разделе HTTP:
add_header X-XSS-Protection "1; mode=block";
X-Frame-Options
Заголовок X-Frame-Options позволяет снизить уязвимость вашего сайта для кликджекинг-атак. Этот заголовок служит инструкцией для браузера не загружать вашу страницу в frame/iframe. Не все браузеры поддерживают этот вариант, так что проверьте заголовок на совместимость перед тем, как его добавлять.
Добавьте следующее в nginx в директиве Server обычно она находится в конфигурационном файле сайта:
add_header X-Frame-Options “DENY”;
X-Content-Type-Options
Можно предотвратить атаки с использованием подмены MIME типов, добавив этот заголовок ответа HTTP. Заголовок содержит инструкции по определению типа файла и не допускает сниффинг контента. При конфигурации потребуется добавить только один параметр: “nosniff”.
Добавьте следующую строку в файл nginx в директиве Server:
add_header X-Content-Type-Options nosniff;
Content Security Policy
Чтобы предотвратить XSS-атаки, кликджекинг, внедрение кода, можно добавить заголовок ответа Content Security Policy (CSP). CSP содержит инструкции о загрузке контента из разрешенных источников.
Добавьте следующее в секцию Server в файле nginx.conf:
add_header Content-Security-Policy "default-src 'self';";
Если после внесения данной директивы сайт стал отображаться не правильно, то вам необходимо :
РНР
По соображениям безопасности сервера рекомендуется отключить или скрыть информацию от злоумышленников, которые могут быть нацелены на ваш сервер, желая узнать, используете ли вы PHP или нет.
sudo nano /etc/php/7.4/fpm/php.ini
Найдите ключевое слово expose_php и установите его значение в Off:
expose_php = off
Если вы используете PHP как FPM, то вам нужно будет перезагрузить PHP-FPM:
sudo service php-fpm reload
После перезагрузки заголовок ответа X-Powered-By: PHP/7.4 должен отсутствовать
Если не помогло, то прописываем в nginx.conf следующее
proxy_hide_header X-Powered-By;
# или
#more_clear_headers 'X-Powered-By';
[endtxt]
RSS
Nginx открывает пустые страницы PHP с FastCGI или PHP-FPM
Перед применением этого исправления вы должны проверить свой доступ и журналы ошибок Nginx. Если вы не получили никакой ошибки в журнале ошибок и получите статус HTTP 200/OK в журнале доступа. Но, тем не менее, вы получите пустые страницы на всех страницах PHP, тогда это исправление решит вашу проблему.
Шаг 1: Конфигурация блока местоположения для всех файлов PHP
Ниже приведен блок местоположения, который мы использовали для блогов WordPress.
location ~ .php$ {
try_files $uri /index.php =404;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Здесь мы включаем fastcgi_params из ngx_http_fastcgi_module из Nginx. Но забыли добавить следующую строку в нужный файл.
Шаг 2: Добавьте fastcgi_param в файл конфигурации
Нам просто нужно открыть файл /etc/nginx/fastcgi_params и добавить строку ниже в конце файла.
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
ИЛИ вы можете напрямую пропустить эту строку с помощью приведенной ниже команды.
echo "fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;" >> /etc/nginx/fastcgi_params
Теперь перезапустите службу PHP-FPM и службу Nginx, используя приведенные ниже команды.
systemctl restart php7.3-fpm systemctl restart nginx
Как указано в Nginx Docs, параметр должен быть передан на сервер FastCGI. После применения этого исправления ваши PHP-страницы должны работать. Если нет, то у вас, вероятно, была другая проблема. Вы можете написать в комментарии, как вы решили эту проблему.