在 IIS7 上启用跨域资源共享:综合指南
简介
跨域-源资源共享 (CORS) 允许来自一个域的资源被来自不同源的应用程序获取和使用。要在 IIS7 上启用 CORS,请按照以下步骤操作:
配置
添加自定义标头:
<customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders>
故障排除
尽管进行了配置,如果您仍然收到 405 响应,可能是由于IIS7 对 HTTP 选项的处理。
选项 1:修改 IIS7 处理程序映射
将可执行文件设置为:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
选项 2:处理代码中的 OPTIONS 动词
重写应用程序代码中的 BeginRequest 方法:
protected void Application_BeginRequest(object sender,EventArgs e) { HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); if(HttpContext.Current.Request.HttpMethod == "OPTIONS") { // Handle pre-flight OPTIONS call from browser HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE"); HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept"); HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000" ); HttpContext.Current.Response.End(); } }
结论
在 IIS7 上启用 CORS 需要配置更新和潜在的故障排除。通过遵循上述步骤,您可以充满信心地实现跨域交互。
以上是如何在 IIS7 上启用跨源资源共享 (CORS):分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!