允许跨源应用程序端(无法控制API)

时间:2016-11-03 17:52:29

标签: nginx cross-domain nginx-location

我有一个应用程序,它应该能够从任何数据源读取数据,这意味着来自任何域的任何API。

当您无法控制API甚至是来自它的域时,如何解决Cross-Origin问题?

我知道您可以通过添加

来模拟同一个域
location /data/ {

    proxy_pass http://exampleAPIdomain.com/data/;

}

阻止允许特定的API域(例如:exampleAPIdomain.com),但在我的情况下,我希望对任何域开放。

这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

是的,可以通过使用proxy_pass - 指令中的变量来实现:

proxy_pass $somevariable$request_uri;

例如,您可以通过标题设置实际主机,然后指令为:

proxy_pass $http_someheader$request_uri;

安全提示:如果您在没有某种形式授权的情况下将其暴露在互联网上,那么每个人都可以使用您的代理代理任何内容。