XMLHttpRequest无法加载ZScaler的问题

Aru*_*haJ 6 javascript ajax jquery amazon-ec2

我在EC2实例中托管了一个网站,并使用http://ec2...url 访问该页面.该页面向同一实例上托管的另一个webapp发出ajax请求.如果我访问通过ZScaler代理的页面,我会XMLHttpRequest cannot load在chrome上获得异常.这是因为当通过代理时,原始URL被更改.

我尝试添加标题Access-Control-Allow-Origin,也用JSONP.但没有任何效果.

关心ArunDhaJ

小智 5

我有同样的问题,CORS消息实际上对我有误导性.

设置

一个带有nginx的amazon EC2实例,它将/ api /上的前端和proxy_passing请求提供给位于同一实例上的IIS服务器

问题

当用户单击该按钮时,由于以下错误消息,AJAX请求失败:

Fetch API无法加载https://gateway.zscaler.net/auD?origurl=http%3A%2F%2Fmyapi&wexps=1&_ordtok=S243WVLHBRDR5VWQ8PfZ4pnDJ8.从' https://gateway.zscaler.net/auD?origurl=http%3A%2F%2Fmyapi&wexps=1&_ordtok=S243WVLHBRDR5VWQ8PfZ4pnDJ8 ' 重定向到' https://gateway.zscaler.net/auT?origurl=http%3A%2F CORS策略已阻止%2Fmyapi&wexps = 1&_ordtok = S243WVLHBRDR5VWQ8PfZ4pnDJ8&wexps = 1 ':请求的资源上没有"Access-Control-Allow-Origin"标头.因此不允许来源' http:// myapi '访问.如果不透明响应满足您的需求,请将请求的模式设置为"no-cors"以获取禁用CORS的资源.

但是,一切都可以直接访问互联网(禁用zscaler代理).

解决方案

我使用该fetch方法发出AJAX请求,默认情况下此方法忽略cookie.API请求被重定向到另一个域上的zscaler auth页面并导致CORS错误消息.

将选项传递credentials: 'same-origin'fetch调用解决了这个问题.

更多细节在这里


Aru*_*haJ 0

我还没有找到完美的解决方案。但是,请在下面找到所使用的解决方法:

为了进行开发,我启动 chrome 并禁用安全功能:

chrome.exe --disable-web-security
Run Code Online (Sandbox Code Playgroud)

否则,我们需要配置 zscaler 设置以将 URL 列入白名单。我不知道如何配置,我们的 IT 团队做到了。

希望能帮助到你。