微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尽pipe标题设置,CORS不起作用

我有一个应用程序,客户端通过使用Nginx的https将example.com的多部分请求发送到api.example.com,然后api将file upload到Amazon S3。

它可以在我的机器上运行,但当其他人在另一个networking上尝试时会中断。 给我这个错误

[Error] Origin https://example.com is not allowed by Access-Control-Allow-Origin. [Error] Failed to load resource: Origin https://example.com is not allowed by Access-Control-Allow-Origin. (graphql,line 0) [Error] Fetch API cannot load https://api.example.com/graphql. Origin https://example.com is not allowed by Access-Control-Allow-Origin.

我在API上使用Cors npm包,如下所示:

app.use(cors());

所有这些都是通过DigitalOcean上的Nginx反向代理。 这里是我的Nginxconfiguration:

使用Apache列入白名单的CORS

如何将CORS(跨域策略)添加Nginx的所有域中?

CORS问题请求的资源上没有“Access-Control-Allow-Origin”标题

CORS策略 – IE10问题:HTTP 401的xhr状态返回0

我如何接受AppHarbor上的CORS AJAX请求?

个人服务器在/etc/Nginx/conf.d/example.com.conf和/etc/Nginx/conf.d/api.example.com.confconfiguration,几乎相同,只是地址和名称不同:

server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; include snippets/ssl-params.conf; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Nginx-Proxy true; proxy_pass http://localhost:3000/; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_redirect off; } }

当我在我的电脑上的本地主机上使用它时,它工作得很好,但一旦我把它放在DigitalOcean上,我就无法上传。 而且,当我上传一个文件,其他正常的Cors GET和POST请求工作时,它只会打破这个多部分的请求。

401错误 – 未使用抓取findJWT令牌

Cloudfront CORS只适用于子域名

如何正确设置Nginx的访问控制 – 允许 – 原产地基于来自请求Origin头的响应头?

Nginx,ssl,CORS,以及Access-Control-Allow-Origin值跨站点的caching

httpd复制Access-Control-Allow-Origin与“标题始终设置”

问题原来是Nginx不接受大文件。 放置在我的Nginx服务器配置的位置块解决了我的问题: client_max_body_size 10M;

问题可能不是Nginx,因为它只是一个移动问题。 尝试使用,而不是* Access-Control-Allow-Origin,你也可以使用你的原点。

app.use(function(req,res,next) { res.header("Access-Control-Allow-Origin","*"); res.header("Access-Control-Allow-Methods","GET,HEAD,OPTIONS,POST,PUT"); res.header("Authorization","Access-Control-Allow-Headers","Origin","X-Requested-With","Content-Type","Accept"); next(); });

UPDATE

如果上述不行,请尝试以下操作,这样可以暂时解决所有问题。

app.use(cors());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐