Jquery iss7不允许选项飞行前请求后请求-如何启用?
我们正在运行一个托管在WindowsAzure中的WCF服务,并尝试从托管在其他地方的网站执行POST请求,但事实证明这非常棘手。显然,在iis7端的实际POST请求之前,允许选项飞行前请求似乎非常困难 即使我们的web.config中有定义Jquery iss7不允许选项飞行前请求后请求-如何启用?,jquery,iis-7,azure,cors,preflight,Jquery,Iis 7,Azure,Cors,Preflight,我们正在运行一个托管在WindowsAzure中的WCF服务,并尝试从托管在其他地方的网站执行POST请求,但事实证明这非常棘手。显然,在iis7端的实际POST请求之前,允许选项飞行前请求似乎非常困难 即使我们的web.config中有定义 <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> &l
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin,X-Requested-With,Content-Type,Accept" />
<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS"/>
</customHeaders>
</httpProtocol>
为了安全
<security>
<requestFiltering>
<verbs>
<add verb="OPTIONS" allowed="true" />
</verbs>
</requestFiltering>
</security>
我们不断得到HTTP 405方法不允许的响应
我在stackoverflow的不同帖子中尝试了多种技巧,但我开始感到绝望,因为似乎什么都不管用。。。该网站在Chrome中工作,因为它似乎不关心飞行前的响应,但IE挂起HTTP 405响应
是否有人知道可以通过web.config(以及如何)允许飞行前选项请求,或者我们需要开始为飞行前请求实现我们自己的处理程序(如果是这样的话,最好举个例子:)
谢谢,
马特退房。我认为WebDAV安装在Web角色上(但无法确认)。您必须RDP到web角色实例,并检查是否存在这种情况。如果是,则需要创建以删除WebDAV
您还可以查看有关如何通过appcmd或vbscript在IIS中配置谓词的文章(两者都可以通过启动任务执行)
看来这些东西必须在应用程序主机配置级别进行配置,而不允许在web.config级别进行配置。IIS(至少版本7.*)在飞行前请求处理方面肯定存在缺陷。
我使用的是经典asp,将此代码添加到Web.config解决了这个问题
<handlers>
<remove name="OPTIONSVerbHandler" />
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="IsapiModule" scriptProcessor="C:\Windows\System32\inetsrv\asp.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
感谢Astaykov提供的好链接,我们需要研究这些链接并开始着手statup任务。这是一篇有很好解释和完整步骤的博客文章,由Maarten撰写: