JQuery GET请求返回缺少CORS原点



好吧,我有3台服务器需要为GET请求一起通信。但我一直在得到来源丢失的错误,我可以在邮递员那里看到我想要接收的信息(所以我知道我的url和传递信息是有效的)。

  1. 带有公共网站的服务器,请求从该网站启动(JQuery),这与接下来的2台服务器位于不同的域上
  2. 带有应用程序的安全服务器,以确保数据库没有与公共网站的直接链接
  3. 服务器具有与服务器2相同的应用程序+主应用程序&数据库(我已经知道这个服务器与cors无关)

JQuery

function GetData(nummer, insz) {
showLoader(true);
var func = function (host) {
$.ajax({
type: "GET",
url: host + "/api/GetList/" + number + "/" + version + "/" + typeId + "/" + extraPriority,
error: function () { alert('ERROR'); showLoader(false); showEmptyTableMessage(true); }
}).then(function (data) {
drawTable(data);
showLoader(false);
});
};
func(URLTOSERVER);
FindServerUrlAsync(func);
}
function FindServerUrlAsync(callback) {
$.ajax({
type: "GET",
url: "/settings/ServerType"
}).then(function (serverType) {
var isDmz = (serverType === 'Dmz');
if (isDmz) {
$.ajax({
type: "GET",
url: "/settings/ServerUrl"
}).then(function (serverUrl) {
callback(serverUrl);
});
} else {
callback("");
}
});
}

第二个服务器进入asp.net应用程序控制器(mvc),该控制器使用来自数据库http客户端的异步请求。

web.config

<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>

ASP.NET启动

var corsBuilder = new CorsPolicyBuilder();
corsBuilder.AllowAnyHeader();
corsBuilder.AllowAnyMethod();
corsBuilder.AllowAnyOrigin();
corsBuilder.AllowCredentials();
services.AddCors(options =>
{
options.AddPolicy("AllowAll", corsBuilder.Build());
});
app.UseCors("AllowAll");

请求只通过不同的方法/操作(显然是服务器)进入同一个asp.net应用程序控制器。web.config没有http协议(因为我已经意识到这是不必要的)。

我已经看了一段时间了。但我似乎无法让它发挥作用。

已编辑

问题是以下因素的组合:

  • 防火墙SNAT配置不正确
  • 主机文件也未正确配置
  • 允许CORS所需的应用程序更改

我们最终(几年后)创建了一个新的MVC REST API服务。所以我记不起当时对应用程序进行了哪些更改以使其正常工作。

这是我们当前的Cors应用程序代码,使其工作。

在应用程序启动->用于安全服务和最终(服务器)服务应用程序的WebApiConfig类

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
EnableCorsAttribute enableCorsAttribute = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(enableCorsAttribute);
config.MapHttpAttributeRoutes();
}
}

最新更新