XMLHttpRequest 无法加载 http://localhost:9090/receive。请求的资源上不存在 'Access-Control-Allow-Origin' header

XMLHttpRequest cannot load http://localhost:9090/receive. No 'Access-Control-Allow-Origin' header is present on the requested resource

我正在通过 nginx 服务器打开一个 html 文件,然后 html 文件将 "POST" 请求从 dropzone 传递到 nginx 服务器,然后 proxy_pass 到我的 go server.This go 服务器然后接受请求。

但是当我尝试使用我的 html 文件并在拖放区中放置一些东西时,我收到错误消息:

XMLHttpRequest cannot load http://localhost:9090/receive. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9009' is therefore not allowed access.

请帮帮我。

在上面的错误中,页面从 http://localhost:9009 请求加载到 http://localhost:9090/。根据此处的同源描述,这些是不同的来源:https://www.rfc-editor.org/rfc/rfc6454#section-5

来源必须匹配:

  • 方案
  • 主机
  • 端口

你的方案和主机是一样的,但是端口不同。因此,您需要添加 CORS headers 以允许调用者在 http://localhost:9090.

上调用您的服务器