仅当我清除 NGINX 缓存时,“需要用户代理才能访问此页面”消息才会消失

仅当我清除 NGINX 缓存时,“需要用户代理才能访问此页面”消息才会消失

我是 NGINX 新手,无法确定它或我们的应用程序是否存在问题。我的 PHP 应用程序有一个 php 包设备检测器它负责用户代理信息以及 CodeIgniter,它有一个文件 UserAgent.php。我曾经遇到过一个事件,大约有 30 人尝试访问它。他们登录后,上面的消息出现了,只有当我们清除 NGINX 缓存时,问题才消失。我们在测试服务器时尝试通过将 GET 切换到 POST 来复制此错误,但没有成功。我们使用 loader.io 来测试服务器访问,它运行良好(该服务器上的其他应用程序也是如此)。关于我们如何复制它以及问题是什么,有什么想法吗?谢谢

答案1

最有可能的是,您的应用程序编码不当,当它无法检测到“用户代理”时会阻止访问,但会返回带有错误消息的页面,其中包含正常的 HTTP 200 代码而不是 403。由于返回代码不表示任何错误,因此错误页面将被缓存并显示给所有访问者,直到清除缓存为止。

相关内容