如何解决用于注入 CORS 标头的 NGINX 反向代理
我目前正在处理未正确设置 CORS 标头的第 3 方 API。我必须通过浏览器中的 javascript 向该 API 发出一些 fetch()
命令。浏览器对缺少 CORS 标头不满意并阻止请求。
我的想法是设置一个简单的 NGINX 代理,直到上游 API 被修复(这是为了开发目的)。然后,我的 javascript 将通过代理 fetch()
,代理与上游 API 对话,获取响应,适当设置 CORS 标头并将响应发送回我的 javascript 客户端代码。
我的 nginx 配置如下所示:
user www;
worker_processes 4;
error_log /var/log/nginx/error.log info;
events
{
worker_connections 1024;
}
http
{
sendfile on;
server
{
listen 80;
server_name api.myproxy.com;
access_log /var/log/nginx/access.log;
location /
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://api.upstream.com;
}
}
}
但是,当尝试使用 Postman 或 Insomnia 通过代理发出 API 调用时,我返回 409 Conflict
并在正文中包含 error code: 1001
。向上游 API 发出 API 调用直接按预期工作(因为 Postman/Insomnia 不会抱怨 CORS)。
nginx 代理在错误日志中没有显示任何内容。
我在这里错过了什么?如何找出问题所在以及如何解决?
代理位于 TLS 终止符后面,因此它接收 HTTP 而不是 HTTPS 流量 - 如果这很重要。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。