【发布时间】:2015-06-25 14:28:12
【问题描述】:
我的网站同时支持 http 和 https 协议。但是在 .htaccess 文件中使用下面的代码,我只能设置一个域来允许 CORS 请求:
Header set Access-Control-Allow-Origin: http://example.com
我想为我的网站的 http 和 https 版本(不仅仅是“*”)允许 CORS,并在此处尝试了解决方案: Access-Control-Allow-Origin Multiple Origin Domains?
但问题是所有解决方案都依赖于请求中的 Origin 标头,该标头可能不存在并且也不安全。 (任何人都可以在他们的请求中添加一个原始标头)
我想知道请求是否已通过 https 提供,并使用此信息设置正确的 CORS 标头。像这样的:
SetEnvIf servedOverHttps httpsOrigin=true
Header set Access-Control-Allow-Origin: https://example.me env=httpsOrigin
SetEnvIf notServedOverHttps httpOrigin=true
Header set Access-Control-Allow-Origin: http://example.me env=httpOrigin
我怎样才能知道它是一个 https 请求?
【问题讨论】:
标签: apache .htaccess https cors