默认情况下,是否有任何 HTTP 日志文件保存在我的系统中?

Are any HTTP log files saved on my system by default?

我在 Ubuntu 机器上的 Amazon EC2 上托管了一个应用程序,用 Ruby(在 Rails 上)编写,使用 Capistrano 和 Nginx 上的 运行 部署。

上周五我的应用程序的一个模块崩溃了,直到今天早上公司里才发现。我们在 Facebook 和 Google 广告上花了一些钱,并收到了数百次访问,但由于这个错误,没有人创建帐户。

我想知道此配置是否将 HTTP 请求及其正文保存在日志文件中的某处。但我们没有明确设置它,所以只有当这些技术中的任何一种默认设置时才会发生。

你知道有没有这样的日志?

不,那不会是可用形式的任何地方(我推断您想尝试从日志文件中的请求主体创建帐户)。您将在 nginx 日志中包含请求本身,并且 rails 日志将包含有关请求的更多信息,但出于安全考虑,默认情况下,将从中清除任何敏感信息(例如密码) .您也许仍然可以从他们那里获得一些信息。

为了更具体地回答您的问题,这些日志在您系统上的通常位置是:

  • /var/log/nginx/
  • /path/to/your/rails/app/log/production.log

另外,我建议研究错误报告服务,例如 Honeybadger、Airbrake、Raygun、Appsignal 或其他服务,这样您就不会遇到像这样的无声故障。