华企号 元宇宙 SAP Spartacus SSR 请求 OCC API 报错403 怎么办?

SAP Spartacus SSR 请求 OCC API 报错403 怎么办?

问题症状

从 CCV2 Node.js Spartacus SSR 应用向 occ API 发起请求,得到 403 错误。

但是,frontend CSR 可以正常请求 OCC API.

分析

检查 SSR 的 ip 是否加到了 OCC API 的 whitelist 里。

当启用服务器端渲染且 API 端点为私有(private,默认行为为拒绝所有 inbound 请求)时,来自 JS Storefront 的请求将被阻止并导致 403 错误。 用户还可能在加载页面后看到错误消息 You are not authorized to perform this action.

SAP Spartacus SSR 请求 OCC API 报错403 怎么办?插图

启用 SSR 后,来自 JS Storefront pod 的请求将通过公共 API 端点发出。

在 Cloud Portal 中,如果已将 API 端点的 IP 过滤器集(filter sets)基本规则设置为全部拒绝(Deny All),这些请求将被阻止。

解决方案

为了保持 API 端点的私密性,可以通过创建一个 IP 过滤器集来创建一个 exception,该 IP 过滤器集 会将该环境的集群 CIDR 列入白名单。 这可以在 SAP 支持团队的帮助下完成:

  1. 给 SAP 创建一个描述问题的 ticket,在 ticket 里请求环境的集群 cidr.
  2. SAP 支持团队将通过执行 kubectl cluster-info dump | grep -m 1 cluster-cidr 命令行来检索该值,并通过 ticket 回复客户。
  3. 客户可以通过在 API 端点上创建 IP 过滤器集来将提供的 cidr 列入白名单。

什么是 IP Filters Set?

IP 过滤器允许客户控制 IP 流量如何流入 SAP Commerce Cloud 系统。

可以通过列出一系列允许或拒绝作为数据包源的 IP 地址来创建 IP 过滤器。 系统使用 IP 数据包标头中的信息过滤 IP 数据包。 系统根据定义的规则接受(允许)或丢弃(拒绝)数据包。

要创建 IP 过滤器集,请创建一个文本文件,其中列出允许或拒绝来自其的数据包的 IP 地址。 例如,IP 过滤器 A – Allow.txt 文件包含允许数据包的 IP 地址。

可以使用子网掩码来定义要过滤的 IP 地址范围。 例如:

  • /32 将网络掩码定义为 255.255.255.255,因此对于 192.168.0.254/32,它指定了一个单一的 IP 地址 192.168.0.254
  • /24 将网络掩码定义为 255.255.255.0,因此对于 192.168.0.0/24,它指定了从 192.168.0.0 到 192.168.0.255 的 IP 范围

 

作者: 华企网通李铁牛程序员

我是程序员李铁牛,热爱互联网软件开发和设计,专注于大数据、数据分析、数据库、php、java、python、scala、k8s、docker等知识总结。15889726201 我的座右铭:"业精于勤荒于嬉,行成于思毁于随"
上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部