SAP的CORS启用

本文档详细介绍了在SAP NetWeaver 7.52及以上版本和低于7.52版本如何启用CORS。主要内容包括在RZ11配置参数、使用UCONCOCKPIT管理HTTP白名单场景、前端CORS代码示例,以及ABAP服务器上的文件配置和重启。此外,还提到了预请求(OPTIONS)的情况和查看连接请求的方法。
摘要由CSDN通过智能技术生成

SAP的CORS启用

参考

参考Blog:How to Enable CORS on SAP NetWeaver Platform - Dong Pan && comment by Achim Braemer(除了blog本身,还可以关注下Achim Braemer的评论建议)

参考文档:SAP Help Portal : Editing Whitelists and No-Log Lists (CORS)

参考文档:在低于 7.52 版的 SAP NetWeaver 上启用 CORS

在高版本【7.52以及更高版本】

相关TCODE:RZ11、UCONCOCKPIT、SMICM

配置

1. 配置允许CORS参数

如果这个参数没有设置,那么所有的跨域请求都将被系统直接过滤,无法捕获
RZ11 修改参数 icf/cors_enabled 值为1

RZ11的icf/cors_enabled参数

注意:通过动态方式修改的参数值会在服务器重启之后重置

2. 开启CORS
开启白名单场景

进入 UCONCOCKPIT,选择 HTTP白名单场景 (Http White-List Scenario)

UCONCOCKPIT

首次开启会激活该场景

HTTP白名单激活对话框

如果要撤销,通过左上角的 「HTTP白名单」 - 「还原旧配置」 ,然后会删除激活配置

开启CORS的 「 活动检查 」 模式

然后开启 「 活动检查 」

更改模式

规则配置

之后可以双击CORS行进入配置白名单规则
但是为了方便,可以先产生一个跨域请求,系统就会捕获这个请求,针对这个请求,可以自动创建匹配白名单规则

在Nginx中启用CORS(Cross-Origin Resource Sharing,跨源资源共享)主要是通过设置响应头部的几个关键字段来完成的。以下是如何在一个简单的location块中启用CORS的基本配置步骤: 1. 首先,在`http`块或者你希望应用跨域规则的server块中,添加`add_header`指令来设置允许的源和请求方法: ```nginx add_header 'Access-Control-Allow-Origin' '*'; # 允许任意源 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; # 允许GET和POST请求 add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type'; # 允许特定的头部信息 # 如果处理的是预检请求(OPTIONS),可以这样处理: add_header 'Access-Control-Allow-Credentials' 'true'; # 允许发送cookies add_header 'Access-Control-Max-Age' 1728000; # 设置最长缓存时间为2周 ``` 2. 对于OPTIONS请求,由于它是浏览器发起的CORS请求的前奏,确认服务器是否接受该类型的请求,可以在location块中特别处理: ```nginx location ~^/api/ { # 将路径替换为你实际的API路径 if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Allow' $method; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; return 204; # 返回204表示成功,无内容 } # 这里处理正常的API请求 } ``` 记住,这只是一个基础设置,根据你的需求,可能还需要调整允许的来源、特定的请求头等。同时,务必小心,因为过于宽松的CORS策略可能会带来安全风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值