И так, вы все же заинтересовались как заменить стандартные страницы ошибок в Nginx на свои. Тогда приступим.
Создание собственных страниц ошибок в Nginx
Приступим к созданию собственных страниц ошибок в Nginx. HTML код страниц описанных ниже будет как пример, на своем боевом сервере вы с легкостью сможете кастомизировать и брендировать их как вам необходимо.
Создание страницы ошибки 404
Для начала создадим файл /usr/share/nginx/html/my_404_error.html и откроем его для ввода HTML кода страницы, для этого выполним 2 команды:
touch /usr/share/nginx/html/my_404_error.html nano -w /usr/share/nginx/html/my_404_error.html
Вводим HTML код страницы 404 и сохраняем файл, пример:
<h1>Ой, ошибка 404</h1> <p>На своей последней ссылке вы повернули налево, а не направо?</p> <p>Нет проблем. Вот несколько советов, которые вернут вас на верную дорогу:</p> <ul> <li>Если вы набрали адрес вручную, проверьте его корректность. Возможно, это просто опечатка.</li> <li>Если вы нашли проблему с одним из наших веб-сайтов, мы будем признательны, если вы могли бы сообщить о проблеме по почте: mail@domain.com</li> <li>Если вы проследовали по ссылке, то, вероятно, она сломана. Сообщите нам об этом по почте: mail@domain.com</li> <li>Если вы не уверены, что вы ищете, начните на с главной страницы domain.com.</li> </ul>
Создание страницы ошибки 403
Как и в случае со страницей 404, нужно создать файл /usr/share/nginx/html/my_403_error.html, открыть его на редактирование, добавить HTML код для страницы ошибки 403 и сохранить файл, для этого выполняем 2 команды:
touch /usr/share/nginx/html/my_403_error.html nano -w /usr/share/nginx/html/my_403_error.html
Вводим HTML код страницы 403 и сохраняем файл, пример:
<h1>Ой, ошибка 403. Доступ запрещен.</h1> <p>У вас нет разрешения для доступа к странице, давайте попробуем решить эту проблему вместе:</p> <ul> <li>Может быть вы забыли авторизоваться?</li> <li>Вы авторизированны под своей учетной записью?</li>
<li>...</li> <li>Сообщите нам по почте: mail@domain.com и мы попробуем решить проблему вместе.</li> </ul>
Создание страницы ошибки 500
Повторяем шаги описанные выше (файл: /usr/share/nginx/html/my_500_error.html):
touch /usr/share/nginx/html/my_500_error.html nano -w /usr/share/nginx/html/my_500_error.html
Вводим HTML код страницы 500 и сохраняем файл, пример:
<h1>Ой, ошибка 500.</h1> <p>Попробуйте обратится к странице чуть позже или сообщите нам о проблеме по почте: mail@domain.com</p> <p>Спасибо, что вы с нами.</p>
И так с созданием страниц ошибок закончили. Еще раз повторюсь, вы можете внедрить CSS стили и картинки на эти страницы, что сделает страницы ошибок более привлекательными, здесь все зависит от вас.
Подключение собственных страниц ошибок в Nginx
Настройка Nginx
Для того, чтобы созданные страницы ошибок заработали, нужно отредактировать конфигурацию Nginx, открываем файл конфигурации для редактирования:
nano -w /etc/nginx/nginx.conf
В конфигурации нужно добавить блок подключения страниц ошибок в блок server {}, пример блока настройки для страницы 404:
error_page 404 /my_404_error.html; location = /my_404_error.html { root /usr/share/nginx/html; internal; }
Примечание. В файле nginx.conf уже может быть блок настройки страниц ошибок, его нужно закомментировать, удалить или изменить на свой. В любом случае перед редактированием файла конфигураций nginx сделайте резервную копию для возможности восстановить текущую рабочую версию настроек.
Пример добавления всех страниц ошибок в конфигурацию nginx:
http { #... server { #... error_page 404 /my_404_error.html; location = /my_404_error.html { root /usr/share/nginx/html; internal; } error_page 403 /my_403_error.html; location = /my_403_error.html { root /usr/share/nginx/html; internal; } error_page 500 /my_500_error.html; location = /my_500_error.html { root /usr/share/nginx/html; internal; } #... } }
В примере указан путь к странице ошибки, установлена корневая папка и установлен доступ к файлам "internal" чтобы обеспечить доступ к старницам только через внутреннее перенаправление nginx (таким образом пользователь не будет иметь прямой доступ к файлам).
Применение изменений
Для того чтобы изменения вступили в силу нужно перезапустить Nginx:
service nginx reload
Все, собственные страницы ошибок в Nginx готовы к работе. Можете проверить и наслаждаться проделанной работой.
Спасибо за внимание.
Комментарии
А для Ubuntu подойдет?
ОтветитьДумаю да
Ответить