Istio请求身份验证-获取带有结果404的Cors

吉辛·库马尔S

这是我的请求身份验证,

apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
  name:prod-authenticator
  namespace: prod
spec:
  selector:
    matchLabels:
      istio: ingressgateway
  jwtRules:
  - issuer: https://securetoken.google.com/<project-id>
    jwksUri: https://www.googleapis.com/service_accounts/v1/jwk/[email protected]

我的AuthorizationPolicy是这个,

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
 name:prod-authorized-api
 namespace: prod
spec:
 action: ALLOW
 rules:
 - from:
   - source:
        requestPrincipals: ["*"]

 - to:
    - operation:
        paths: ["/user/ping"]

以下内容可帮助我排除没有有效令牌的运行状况路径(/ user / ping)。

我的虚拟服务是

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: user-svc-vs
  namespace: prod
spec:
  hosts:
  - gateway.xxxx.com
  gateways:
  - istio-system/prod-gateway
  http:
  - match:
    - uri:
        prefix: /pop
    route:
    - destination:
        host:user-svc.prod.svc.cluster.local 

但是当检查时我可以看到只有健康api可以得到200休息,所有都可以得到404,当检查浏览器时我看到了

已从CORS策略阻止对来自源“ https:// <>”的“ https://”处的XMLHttpRequest的访问:对预检请求的响应未通过访问控制检查:无“ Access-Control-Allow-Origin”标头存在于请求的资源上。

在虚拟服务中,我尝试添加“ corsPolicy”,但没有任何效果。

示例虚拟服务尝试的示例是

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ratings-route
spec:
  hosts:
  - ratings.prod.svc.cluster.local
  http:
  - route:
    - destination:
        host: ratings.prod.svc.cluster.local
        subset: v1
    corsPolicy:
      allowOrigins:
      - exact: https://example.com
      allowMethods:
      - POST
      - GET
      allowCredentials: false
      allowHeaders:
      - X-Foo-Bar
      maxAge: "24h"

<<以上不是我们的例子,但是我已经复制了,但是我申请了当前的环境,但是还是没有运气!谁能帮上忙,整日为此苦苦挣扎:)

用户名

CORS飞行前请求是OPTIONS浏览器自动发出的HTTP请求,有关详细信息,请参见此站点

因此,允许OPTIONSAuthorizationPolicy打个电话以允许飞行前请求。

- to:
    - operation:
        methods: ["OPTIONS"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有身份验证的HTTP HTTP获取请求

Istio JWT身份验证传递没有令牌的流量

带有身份验证的GET请求

带有身份验证令牌的httr POST请求

Owin身份验证-如何获取请求身份验证令牌的客户端的IP地址

使用发布请求获取身份验证令牌

具有身份验证的httpget请求

ASP核心拦截所有身份验证请求

具有基本身份验证的HTTP请求

具有基本身份验证Java的HTTP请求

具有标头身份验证的跨域请求

带Twitch身份验证的带有请求承诺的NodeJS发布请求

有没有办法对远程会话进行身份验证以抓取数据并保持身份验证而不是在每个请求中进行身份验证?

带有Spring Security CORS问题的AngularJS身份验证

具有Kerberos身份验证的WCF:由于身份验证失败,无法满足对安全令牌的请求

Windows身份验证模拟-第二个请求获取错误的用户身份

如何在我的HTTP请求中使用带有身份验证的代理?

带有HTTP请求和Observable的Angular2身份验证防护

使用restTemplate发送带有身份验证标头的GET请求

带有身份验证的python请求(access_token)

带有身份验证的python请求(access_token)

在Ruby中发送带有身份验证的https发布请求

带有身份验证标头的Java Jersey HTTPS GET请求

使用带有护照 js 服务器的 python 请求进行身份验证

(Monaca、Cordova)带有表单身份验证 (Cookie) 的 Web API 请求不起作用

使用 JWT 进行身份验证,返回带有 GET 请求的空数组 [NodeJS]

如何为每个有效的页面请求验证经过身份验证的用户

具有对外部api的基本身份验证的获取请求的Firebase云功能

正在获取请求具有无效的身份验证凭据错误FCM