POST 请求仅在某些机器上失败

问题描述 投票:0回答:1

我开发了一个 REST Web 服务器,可以处理 GET 和 POST 路由。
我的网络服务器是用 Pharo 开发的。
我使用简单的 .htaccess 将所有内容重定向到我的 Pharo 应用程序。
REST 查询发送到 HTTPS(端口 443)并重定向到 8079。

RewriteEngine on  
RewriteRule (.*) http://localhost:8079/$1 [P]  

每个人似乎都可以顺利完成 GET 查询。
然而,有些人对 POST 查询有问题。
飞行前检查似乎对每个人都没有问题。
但是,POST 请求本身仅对 some 机器/网络失败。
除了我之外,有些人能够同时进行飞行前检查和发布请求。
我还没有发现任何歧视因素。

Access to fetch at 'https://rest.didyouknowmythicplus.com/sug' from origin 'https://deplete.fyi' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
index-40151e28.js:90 
POST https://rest.didyouknowmythicplus.com/sug net::ERR_FAILED 307 (Temporary Redirect)

我不知道为什么我有一个临时重定向,可能是因为 .htaccess 代理吗?

虽然错误消息谈到了 CORS,但在我看来,这不是问题所在。
在错误的情况下,POST 请求似乎无法到达 Pharo 网络服务器。
如果 Pharo Web 服务器没有收到请求,则无法将 CORS 添加到答案中。

后端是一个 vite/react 应用程序,使用相当简单的获取:

fetch(postUrl, {
  method: "POST",
  body: JSON.stringify({someData}),
  headers: {
    "Content-type": "application/json; charset=UTF-8",
  }
})

知道什么可能导致 POST 请求仅在某些机器/网络上被错误处理吗? 我自己没有任何其他想法。

我尝试了很多事情,特别是:

  • 确认 POST 请求未到达网络服务器;
  • 尝试了许多各种 CORS 调整(客户端、Web 服务器、htaccess);
  • 尝试对获取进行多次调整;
  • 尝试对网络服务器路由进行多次调整(例如仅保留后路由);
  • 尝试了.htaccess 的多次调整。
  • 尝试将我的休息放在与反应应用程序相同的域上,但我遇到了一些 ssl 问题。

相关问题: 是一个网络服务器端错误,所以这看起来不同 - CORS:为什么我获得成功的预检选项,但在发布时仍然出现 CORS 错误?

reactjs rest redirect cors fetch
1个回答
0
投票

我最终使用 PUT 而不是 POST 方法修复了它 我不知道它是如何/为什么工作的:)

© www.soinside.com 2019 - 2024. All rights reserved.