关于 SAP Spartacus SSR 请求 OCC API 遇到 403 错误的解决办法

2023-10-13 03:30

本文主要是介绍关于 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.

启用 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 范围

这篇关于关于 SAP Spartacus SSR 请求 OCC API 遇到 403 错误的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/200459

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

SpringBoot3匹配Mybatis3的错误与解决方案

《SpringBoot3匹配Mybatis3的错误与解决方案》文章指出SpringBoot3与MyBatis3兼容性问题,因未更新MyBatis-Plus依赖至SpringBoot3专用坐标,导致类冲... 目录SpringBoot3匹配MyBATis3的错误与解决mybatis在SpringBoot3如果

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把