函数计算中,自定义域名没改,在2.0是函数可以正常被post请求的原因是什么?-[阿里云_云淘科技]

函数计算中,有一个函数绑定了自定义域名,我的一个网站用 fetch 发起一个 post 请求到这个自定义域名,body 是 json string,结果浏览器先发起了 OPTIONS 请求,但 options请求失败。这是函数3.0的现象。这个函数是从2.0改成3.0的,自定义域名没改,在2.0是函数可以正常被post请求

以下为热心网友提供的参考意见

这个问题可能是由于 Serverless Framework v3.0 对跨域请求的处理方式发生了变化。在 v3.0 中,浏览器会首先发送一个预检请求(OPTIONS),以检查服务器是否允许跨域请求。如果预检请求失败,浏览器将不会发送实际的请求。

要解决这个问题,您可以尝试以下方法:

  1. 确保您的自定义域名已正确配置为支持跨域请求。您可以在 CloudFront 控制台中检查和修改这些设置。

  2. 如果您使用的是其他云服务提供商的 API Gateway 或 Lambda@Edge 功能,请确保它们也支持跨域请求。

  3. 在您的函数代码中,添加适当的 CORS 响应头,以允许来自浏览器的预检请求。例如,您可以在函数的响应对象中添加以下内容:

response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS');
response.setHeader('Access-Control-Allow-Headers', 'Content-Type');

这将允许来自任何来源的请求,并允许 POST、GET 和 OPTIONS 方法。请注意,这只是一个示例,您可能需要根据您的需求调整这些设置。

以下为热心网友提供的参考意见

https://help.aliyun.com/document_detail/2513634.html?spm=a2c4g.2513616.0.i6#section-s91-v5a-lqw
这个自定义域名在电脑本地用代码去 post 可以正常返回,但是通过我的网页去post就会发起预检请求,如果把自定义域名改为函数的http触发器自动生成的域名,则正常。此回答来自钉群阿里函数计算官网客户。

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:http://www.cnzhanzhang.com/20221.html

(0)
匿名
上一篇 2024年1月3日 下午5:07
下一篇 2024年1月3日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。