【发布时间】:2019-07-02 06:34:19
【问题描述】:
我正在尝试创建一个 server-sn-p,它将为移动用户返回 503。我正在这样做,通过检查用户代理。 问题: 如果是移动用户代理,Server-Snippet 不会返回 503。 总之,当用户代理不是移动设备时返回 503。手机本身,发送200。 我无法理解 Ingress 做了什么。看起来,服务器狙击手代码以某种方式“以硬编码方式”解析它。 也许有人遇到过类似的问题。如果有人可能会提示此类服务器狙击手,那就太好了。 谢谢
我尝试了几个 server-sn-ps。请检查下面的代码。
- 试试这是来自github的官方代码截图。
nginx.ingress.kubernetes.io/server-sn-p: 设置 $agentflag 0;
if ($http_user_agent ~* "(Mobile|ios|android)" ){ 设置 $agentflag 1; }
如果($agentflag = 1){ 返回503; }
作为json:
"nginx.ingress.kubernetes.io/server-snippet": "| set $agentflag 0; if ($http_user_agent ~* \"(Mobile|ios|android)\" ) { set $agentflag 1; } if ( $agentflag = 1 ) { return 503;}"
- 试试
nginx.ingress.kubernetes.io/server-sn-p: if ($http_user_agent ~* "(Mobile|ios|android)" ){ 返回503; }
作为json:
"nginx.ingress.kubernetes.io/server-snippet": " if ($http_user_agent ~* (Mobile|ios|android) ) {\n return 503; }"
【问题讨论】:
标签: kubernetes kubernetes-ingress