我们正试图从angular应用程序调用the子服务,并收到CORS错误。
在global.xml的http config中添加CORS拦截器时,我们的项目遇到了问题。
<http:listener-config name="api-httpListenerConfig">
<http:listener-connection host="${http.host}" port="${http.private.port}" />
<http:listener-interceptors>
<http:cors-interceptor allowCredentials="true">
<http:origins>
<http:origin url="*" accessControlMaxAge="0">
<http:allowed-methods>
<http:method methodName="GET" />
<http:method methodName="POST" />
<http:method methodName="DELETE" />
<http:method methodName="OPTIONS" />
<http:method methodName="HEAD" />
<http:method methodName="PUT" />
</http:allowed-methods>
<http:allowed-headers>
<http:header headerName="X-Allow-Origin" />
</http:allowed-headers>
</http:origin>
</http:origins>
</http:cors-interceptor>
</http:listener-interceptors>
</http:listener-config>
GET服务不应被浏览器中的CORS策略阻止。
答案 0 :(得分:1)
API管理器使您可以将网关逻辑(CORS协商,身份验证/授权,流量管理等)保留在Mule应用程序之外。但是,如果这是一个内部应用程序,并且不能真正从API网关中受益,则这是在Mule应用程序中处理CORS的一种方法:
拦截器可能是出于相同的目的,但尝试没有效果。