Можно ли отправить автоматическое электронное письмо, содержащее сведения о запрашиваемой странице, веб-мастеру, когда посетители переходят на страницу с 500 внутренними ошибками сервера?
Таким образом, веб-мастер может действовать быстрее, чтобы решить проблему. Это общий вопрос, поэтому какая платформа используется, не имеет значения.
email
error-reporting
http-code-500
Тони Болеро
источник
источник
Ответы:
Да, это возможно. Вам просто нужно выяснить, является ли веб-сервер IIS или Apache, а затем вы можете настроить его так, чтобы он отображал пользовательскую страницу (которая будет содержать код для сбора необходимых вам сведений от пользователя и отправки его вам по электронной почте) всякий раз, когда 500 ошибка обнаружена
Для Apache, например, это действительно просто. Просто создайте (или добавьте, если таковой существует) a
.htaccess
и используйте следующее правило в нем, чтобы настроить свой собственный документ об ошибках:источник
Отправка письма с каждой ошибкой через пользовательскую страницу ошибки может не работать, если проблема связана с PHP: ваша пользовательская страница может не работать, поэтому сообщение не отправляется. Также вы получите одно электронное письмо за ошибку, которая может быть флудом.
Вместо этого я бы предложил внедрить некоторую форму сканирования журналов: поручить заданию cron (или запланированной задаче под Windows) сканировать файлы журналов на наличие ошибок каждый день или каждые несколько часов и отправлять сводную информацию обо всем, что было найдено с момента последней проверки, соответствующему администратору. (с). Вы также можете заставить свой скрипт проверки журналов выполнять несколько других вещей, например, убедиться, что служба веб-сервера (и все службы баз данных и т. Д.) Работает, хотя бы ради паранойи. Если ничего другого, то одно электронное письмо за отчетный период может охватывать другие коды ошибок HTTP (401, 404, ...) и другие вещи, найденные в журналах. Если вы делаете это, всегда отправляйте сообщение электронной почты, даже если в этом нет ничего плохого : таким образом вы узнаете, что ваш скрипт сканирования не запустился из-за того, что вы перестали получать сообщения (в противном случае ни одно сообщение не может означать, что все в порядке или отчет о повреждении машины поврежден).
источник
Да, отправлять электронную почту для каждой ошибки. Это также хорошая идея, чтобы отправить как можно больше информации, как часть электронного письма. Подумайте о захвате:
Это очень помогает в целях отладки. Получить эту информацию в классическом ASP и ASP.NET тривиально через объекты Request и Session.
Просто не создавайте ошибку на своей пользовательской странице ошибок, иначе вы испугаетесь веб-сервера.
источник
Да, очень возможно. Кроме электронной почты, вы также можете проверить журнал веб-сервера.
Я советую не отправлять электронную почту на каждые 500, иначе, если есть ошибка, ваш почтовый ящик будет затоплен. Просто запишите идентификатор ошибки, отправьте 1 для той же ошибки на тот же идентификатор.
источник
Вы можете добавить iframe, который загружает php с другого сервера, тогда ваша страница ошибок всегда будет отправлять письма.
источник