如何解决http和https的Access-Control-Allow-Origin
使用https访问网站时,以下javascript XMLHttpRequest正常工作:
var xhttp = new XMLHttpRequest();
xhttp.open("GET","https://site/api/status",true);
xhttp.withCredentials = true;
xhttp.send();
所请求站点的web.config如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="https://intranet.company.local" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Headers" value="Content-Type,Cache-Control,Pragma,Expires,Authorization" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
现在也可以将网站与http一起使用,因为它并不安全。如果我将XMLHttpRequest URL更改为“ http:// site / api / status”,将Access-Control-Allow-Origin更改为“ http://intranet.company.local”,则可以正常工作。
基于给定的协议更改XMLHttpRequest URL也不是问题,但是我找不到有效的web.config配置以允许这两个协议,因为当Access-Control-Allow-Origin的通配符值不起作用时,使用凭据。
解决方法
感谢@Jaromanda X的帮助。我使用了iis cors模块(Link)中的引用 解决问题:
df <- transform(df,birth_year = paste0(ifelse(birth_year > 5,19,20),birth_year))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。