博客
关于我
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 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    mysql 中索引的问题
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主从关系切换
    查看>>
    MYSQL 主从同步文档的大坑
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 事务知识点与优化建议
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>