Rails の S3 連携で Internal Server Error となる
Redmine の添付ファイルを S3 に入れる設定で使っていたところ、ある日突然アップロード時に「Internal Server Error」が出るようになりました。
Redmine は Ruby on Rails で作られているので、log/production.log を見てみると以下のようなエラーが記録されていました。
1 2 3 |
AWS::S3::Errors::RequestTimeTooSkewed The difference between the request time and the current time is too large. Completed 500 Internal Server Error in 309ms (ActiveRecord: 10.6ms) |
時刻のズレが大きすぎると怒られています。
date コマンドで時刻を確認したら、30分ほど遅れていました。どうも ntpd が止まっていたようです。
ntpd を再起動して、時刻を正確に合わせたところ、AWS の API 連携エラーが出なくなり、アップロードできるようになりました。