如何向 Azure Web 代理后面隐藏的应用程序发送一个 POST 请求?
如何向 Azure Web 代理后面隐藏的应用程序发送一个 POST 请求?
我正在尝试与一个隐藏在Azure Web代理/Active Directory设置后面的应用程序进行通信。
到目前为止,我已经尝试了以下几个步骤:
- 使用Ionic(Angular)编写了一个应用程序
- 设置了Ionic的AuthConnect插件,以便从AD获取访问令牌
- 按照此链接中的建议,将访问令牌设置在“Authorization”头部
- 发送POST请求,对于其他API都能正常工作,但无法与Web代理后面的应用程序通信
- 尝试在服务器端设置IIS CORS模块。我已经在下面附上了当前配置的图片。
- 当我尝试向Web代理应用程序的URL发送POST请求时,预检请求返回403禁止错误。
- 我收到了错误消息“XMLHttpRequest对'https://www.testurl.com/test'的访问被CORS策略阻止:预检请求的响应未通过访问控制检查:在请求资源上没有'Access-Control-Allow-Origin'头部。”
请问有人可以指导我正确的方向吗?非常感谢任何帮助。
你可能面临CORS(跨源资源共享)问题。您应该尝试在您使用的任何浏览器中关闭CORS。此外,正如错误信息所说,“请求的资源上没有‘Access-Control-Allow-Origin’头”,您应该检查从哪个域或站点向您的Web代理应用程序URL发送POST请求,并检查CORS是否已禁用/绕过您的Web代理资源。请仅从您的域发送POST请求,而不是从启用了CORS的外部域或另一个域。
另外,可能是您正在从没有安装SSL证书的“http” Web服务器发送POST请求,因此请尝试在本地主机上安装SSL证书,然后发送POST请求。
您还可以检查Web代理资源访问的应用程序虚拟目录权限,以及正确的可访问性,因为在访问Web应用程序页面时收到了禁止403错误。
请参考以下线程以获取有关您的问题的更多澄清:
- Response to preflight request doesn't pass access control check
- Access to XMLHttpRequest has been blocked by CORS policy
- How does Access-Control-Allow-Origin header work?
谢谢您,