首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >10内部重定向-这个限制能被提高吗?

问10内部重定向-这个限制能被提高吗?
EN

Stack Overflow用户
提问于 2014-09-22 15:07:48
回答 2查看 417关注 0票数 1

我有一个客户端在使用CDN时遇到了大约500个错误。这些错误表明内部重定向太多,我们的研究证实了这一点。客户端不希望调整其内部重定向,并希望以另一种方式解决此问题。

根据我到目前为止的研究,这似乎是一个硬的上限,不是特定于任何一种类型的web服务器,并已到位,以避免无休止的循环。话虽如此,有没有办法把这个上限提高到20而不是10呢?

示例:

  1. 浏览器>>9 redirects>> Origin200页(9次重定向总数)
  2. 浏览器>>9 redirects>> redirects>>提供自定义404页(+1重定向用于自定义404 - 10重定向总数)
  3. 浏览器>> CDN (+1从自定义规则重定向) >>9 redirects>>原产地200页(10重定向总数)
  4. 浏览器>> CDN (+1从自定义规则重定向) >>9 redirects>>提供自定义404页(+1重定向用于自定义404 - 11重定向总数)

只有示例4提供了一个500错误。在不调整重定向配置或删除CDN的情况下,有什么方法可以避免这种情况吗?(不幸的是,我不能提供更多关于重定向的信息,我很抱歉)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-22 17:34:22

不幸的是,是HTTP客户端决定了它愿意遵循多少重定向。您所看到的限制源于最初在RFC 2068,sec 10.3中给出的建议,并在RFC 7231,sec 6.4中再次引用。

本规范的早期版本建议最多重定向五个方向.内容开发人员需要意识到,一些客户端可能实现这样一个固定的限制。

在这个答案中可以找到一个粗略的估计,说明有多少重定向会达到浏览器的极限。大多数浏览器都允许配置这个限制(例如,火狐公开了network.http.redirection-limit设置)。

那么,Webservers则是另一回事了:看来Apache有MaxRedirects选项,用于v2.0.45和2.1之间的RewriteOptions指令。LimitInternalRecursion设置似乎已经接管了这一设置。我一直无法为nginx找到一个同等的设置。

最后请注意:如果您确实看到这么多内部重定向(即仅在重写引擎中执行的重定向,并且不会立即导致真正的HTTP重定向),那么这可能是修改重写规则的有力指示。

票数 1
EN

Stack Overflow用户

发布于 2014-09-22 17:58:48

您需要给客户留下深刻印象,您必须修复需要无数内部重定向的糟糕的应用程序逻辑,而不是试图更改地球上的每个浏览器。

编辑**

显然,Apache可以使用RewriteOptions MaxRedirects选项更改服务器端,但我认为浏览器仍然存在问题,因为浏览器经常建议用户停止重定向并退出.有时甚至在10次重定向之前。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25977377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档