博客
关于我
nginx 配置header
阅读量:726 次
发布时间:2019-03-21

本文共 969 字,大约阅读时间需要 3 分钟。

当在img标签上设置crossOrigin="Anonymous"时,可能会遇到CORS政策错误。这是因为浏览器在处理这种跨域请求时,无法找到服务器返回的Access-Control-Allow-Origin头来允许这种情况。以下是详细的解决方案:

  • 理解CORS配置

    通常,CORS策略包括以下设置:

    • Access-Control-Allow-Origin: 指定允许的域名。
    • Access-Control-Allow-Methods: 允许的方法,如GETPOST
    • Access-Control-Allow-Headers: 允许的请求头。
  • 检查Nginx配置

    肯定在服务器(例如Nginx)上启用了CORS。按照以下步骤操作:

    • 打开Nginx配置文件,进入location / { ... }部分。
    • 添加三行配置:
      add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Methods GET, POST, OPTIONS;add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    • 保存并重启Nginx服务。
  • 调整跨域策略

    • 在需要跨域的img标签中保留crossOrigin="Anonymous",但请确保Nginx配置中允许这种模式。
    • 或者,设置crossorigin属性为use-neighbor以允许共享某些资源。
  • 客户端CORS处理

    在JavaScript中使用fetchXMLHttpRequest时,可以指定-origin选项,并使用CORS库进行错误处理。

  • 测试与验证

    使用跨域测试工具,如earing.io,检查是否返回正确的CORS头。

    • 打开浏览器的开发者工具,查看Network区域,检查请求和响应头。
    • 确认Access-Control-Allow-Origin头为*或指定允许的域名。
  • 通过以上步骤,CORS配置问题应该得到解决,确保跨域请求流畅进行。

    转载地址:http://sxfgz.baihongyu.com/

    你可能感兴趣的文章
    Mysql之性能优化--索引的使用
    查看>>
    mysql之旅【第一篇】
    查看>>
    Mysql之索引选择及优化
    查看>>
    mysql之联合查询UNION
    查看>>
    mysql之连接查询,多表连接
    查看>>
    mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
    查看>>
    mysql也能注册到eureka_SpringCloud如何向Eureka中进行注册微服务-百度经验
    查看>>