上周四,我的Rails应用刚刚开始在我们的Staging
服务器上返回404错误,我试图找出原因。我们在应用程序中使用了2个完全不同的API,它们已经使用了几个月。突然之间,我们整个早上都收到404错误,并且没有任何更改,它们又恢复了工作。
我们正在使用HTTParty
来访问这些外部API。这两个API的响应完全相同,并且它是针对404错误的通用html模板:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>404 - File or directory not found.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>404 - File or directory not found.</h2>
<h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
</fieldset></div>
</div>
</body>
</html>
我最初的猜测是,我们两者都以某种方式达到了错误的终点,这不太可能,因为我们从未改变任何东西,而且它们已经工作了几个月。但是无论如何,我还是试图在外部API之一中遇到错误的端点,这是我得到的响应:
<html>
<head><title>404 Not Found</title></head>
<body bgcolor=\"white\">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
我立即注意到这两个404 html模板是不同的,此时,我不确定真正发生了什么。由于我们对这两个API都获得了完全相同的404响应,我的直觉是我们这边出了点问题,不是他们的错,但是我不确定100%正确。我将非常感谢您的帮助!谢谢!