博客
关于我
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-connector-java各种版本下载地址
    查看>>
    mysql-EXPLAIN
    查看>>
    MySQL-Explain的详解
    查看>>
    mysql-group_concat
    查看>>
    MySQL-redo日志
    查看>>
    MySQL-【1】配置
    查看>>
    MySQL-【4】基本操作
    查看>>
    Mysql-丢失更新
    查看>>
    Mysql-事务阻塞
    查看>>
    Mysql-存储引擎
    查看>>
    mysql-开启慢查询&所有操作记录日志
    查看>>
    MySQL-数据目录
    查看>>
    MySQL-数据页的结构
    查看>>
    MySQL-架构篇
    查看>>
    MySQL-索引的分类(聚簇索引、二级索引、联合索引)
    查看>>
    Mysql-触发器及创建触发器失败原因
    查看>>
    MySQL-连接
    查看>>
    mysql-递归查询(二)
    查看>>
    MySQL5.1安装
    查看>>
    mysql5.5和5.6版本间的坑
    查看>>