当前位置: 首页 > 知识库问答 >
问题:

正在忽略Ingres重写字符串

有宏邈
2023-03-14

要求是访问汉堡服务https://meals.food.com/burger2.应用程序内的上下文路径是/burger

进入

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /burger/$2
spec:
  rules:
  - host: meals.food.com
    http:
      paths:
      - backend:
          service:
            name: burger
            port:
              number: 80
        path: /burger2(/|$)(.*)
        pathType: Prefix

检查入口控制器日志后:

[2022年1月5日:13:54:11 0000]“GET//HTTP/1.1”304 0“-”Mozilla/5.0(X11;Linux x86\u 64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/96.0.4664.110 Safari/537.36“957 0.002[anotherservice-80][]x.x.x:80 0.002 304 230200x023

我的入口配置正确吗?我怀疑有什么东西正在改变我从浏览器到入口控制器的请求之间的请求。

共有1个答案

姬弘文
2023-03-14

我的入口配置正确吗?我怀疑有什么东西正在改变我从浏览器到入口控制器的请求之间的请求。

你的入口配置看起来不错。我没有看到任何错误。他将执行以下操作:示例addressfines.food。com/burger2/blah blah blah将被重新连接到fines.food.com/burger/blah blah blah。如果这是你的意图,那么配置就可以了。

然而,您得到了304个HTTP代码。

HTTP304 Not Modify客户端重定向响应代码表示无需重新传输请求的资源。它是对缓存资源的隐式重定向。当请求方法安全时,例如GETHEAD请求,或者当请求是有条件的并使用If-Now-MatchIf-Modified-As标头时,会发生这种情况。

等效的200OK响应将包含标头Cache-ControlContent-loceDateETagExpiresVary

换言之,当浏览器接收到请求,但不知道其是否具有最新版本的写入时,它会发送一个条件验证请求,如果自修改,则通过将上次修改的日期和时间传递给服务器;如果没有匹配的头,则通过将上次修改的日期和时间传递给服务器。

然后,服务器检查这些头并确定其值是否相同。如果是这样,服务器将发回HTTP 304代码,浏览器将使用资源的缓存副本。如果没有,则表示文件已被修改,因此浏览器将通过发送HTTP 200代码来保存新副本。

在你的例子中,似乎有人多次尝试下载相同(不变)的资源,因此得到了代码304。如果是这样,一切都很好。

 类似资料:
  • 问题内容: 是否可以确定String是否包含字符串模式?我想知道当字符不区分大小写时是否有可能。如果是这样,怎么办? 问题答案: 您可以使用 检查CharSequence是否包含搜索CharSequence(不区分大小写),处理为null。不区分大小写由String.equalsIgnoreCase(String)定义。 空的CharSequence将返回false。 这将比regex更好,因为

  • 问题内容: 我有一个列表,其中包含代表动物名称的字符串。我需要对列表进行排序。如果使用,它将首先使用大写字符串然后使用小写形式提供列表输出。 但是我需要下面的输出。 输入: 输出: 问题答案: 该方法和功能迈出了关键的参数: 为每个值调用名为in的函数,并在排序时使用返回值,而不会影响实际值: 要在之前进行排序,您必须在键中包含更多信息,以便以给定的顺序对相等的值进行排序: 为和为生成更复杂的密钥

  • 问题内容: 忽略大小写,比较Python中字符串的最简单方法是什么? 当然可以做到(str1.lower()<= str2.lower())等,但这会创建两个附加的临时字符串(明显的alloc / gc开销)。 我想我正在寻找一个等效于C的stricmp()。 [请求更多上下文,所以我将用一个简单的示例进行演示:] 假设您要排序一个完整的字符串列表。您只需执行List.sort()。这是O(n *

  • 问题内容: 我正在尝试为我的应用程序编写一个过滤器函数,该函数将采用输入字符串并以某种方式过滤掉与给定输入不匹配的所有对象。最简单的方法是使用String的contains方法,即仅检查对象(对象中的String变量)是否包含在过滤器中指定的字符串,但这不会考虑重音。 所讨论的对象基本上是Person,而我要匹配的字符串是名称。因此,例如,如果有人搜索Joao,我希望Joáo会包含在结果集中。我已

  • 问题内容: 问题很简单。JAVA中是否有任何函数可以比较两个字符串并在忽略重音字符的情况下返回true? 即 回报相等。 谢谢 问题答案: 我认为您应该使用Collat​​or类。它允许您设置强度和区域设置,并将适当地比较字符。 从Java 1.6 API中: 您可以设置“整理器”的“强度”属性来确定在比较中被视为重要的差异水平。提供了四个优势:主要,次要,高等教育和同等优势。语言功能的优势确切分

  • 我正在尝试在文本中查找html标签,如下所示: 但是颜色部分可以改变(比如#bbbbbb)…我想我可以为此使用正则表达式,对吗?但是我不确定我怎么能忽略它的颜色部分… 你能帮我吗?这可能吗? 非常感谢你