我正在为我们公司的内部网站建立一个内部测试服务器,该服务器将通过IP地址访问。该网站的实时版本是跨域的,客户端位于https://live.example.com,API位于https://api.example.com。
在WebAPI的配置中,我有以下代码行可以正常运行现场:
var cors = new EnableCorsAttribute("https://live.example.net", "*", "*");
config.EnableCors(cors);
测试站点的IP地址对于客户端是192.168.75.53,对于API是192.168.75.54。紧接着我,我添加了以下几行
var corsTest = new EnableCorsAttribute("http://192.168.75.53", "*", "*");
config.EnableCors(corsTest);
但是,当我尝试调用API时,我得到以下内容:
XMLHttpRequest无法加载 http://192.168.75.54/api/credentials/get?noCache=1457027037454。 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“http://192.168.75.53” 访问。响应具有HTTP状态代码502.
我继续前进,为了完整起见,尝试了以下方法:
var corsTest = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(corsTest);
但仍然没有骰子。尝试在域名上使用IP地址时,CORS不起作用吗?
我找到Web API 2 CORS Won't Allow IP Addresses as Origins并检查了我们的IIS版本,但我们正在运行v8。
有什么想法吗?