从 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
.
启用 SSR 后,来自 JS Storefront pod 的请求将通过公共 API 端点发出。
在 Cloud Portal
中,如果已将 API 端点的 IP 过滤器集(filter sets)基本规则设置为全部拒绝(Deny All
),这些请求将被阻止。
为了保持 API 端点的私密性,可以通过创建一个 IP 过滤器集来创建一个 exception,该 IP 过滤器集会将该环境的集群 CIDR 列入白名单。 这可以在 SAP 支持团队的帮助下完成:
kubectl cluster-info dump | grep -m 1 cluster-cidr
命令行来检索该值,并通过 ticket 回复客户。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 范围