Apache跨域iframe访问:需配置CORS头的应用确认
CORS配置问题解答
要实现从https://srcdomain.com应用框架内访问https://destdomain.com应用,必须在destdomain.com应用中添加CORS响应头,你提供的这段Apache配置也需要写入destdomain.com的httpd.conf文件。
原因很明确:CORS(跨源资源共享)的权限控制由**被请求的服务端(即destdomain.com)**主导。当srcdomain.com的页面发起跨源请求到destdomain.com时,浏览器会自动在请求头里带上Origin: https://srcdomain.com,此时destdomain的服务器需要返回Access-Control-Allow-Origin这类响应头,明确告知浏览器“允许来自这个源的请求”,否则浏览器会拦截响应,阻止页面获取目标资源。
你给出的这段配置的作用是:
- 通过
SetEnvIf匹配请求的Origin是否为指定的两个域名(srcdomain.com或destdomain.com),匹配成功就把对应的Origin值存入环境变量AccessControlAllowOrigin - 再通过
Header指令把这个环境变量的值作为Access-Control-Allow-Origin响应头返回给浏览器
完全符合destdomain服务器需要做的跨源授权逻辑,所以要配置在destdomain的httpd.conf里。
内容的提问来源于stack exchange,提问作者chandrasekhar
相关产品推荐
相关产品推荐

