Мы пытаемся настроить ServiceStack и CORS в нашей тестовой среде. В настоящее время безопасность IIS не настроена (анонимно). При попытке установить соединение с клиентом (React) запрос отклоняется с
"Доступом к выборке в 'https://xxx?format=json" из источника "http://localhost: 3000 'была заблокирована политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ удовлетворяет ваши потребности, задайте запрос режим «no-cors» для извлечения ресурса с отключенным CORS. "
Мы попробовали описанное ниже, чтобы настроить ServiceStack, но мы не уверены, является ли это проблемой настройки сервера или проблемой установки клиента.
Here's my request:
const https = require("https");
function deleteStaffMember(e) {
console.log(e.currentTarget.name)
try {
const res = fetch(`https://xxx/${e.currentTarget.name}?format=json`, {
method: 'DELETE',
agent: new https.Agent({
rejectUnauthorized: false
}),
credentials: 'omit'
})
} catch(err) {
console.log(err)
}
}
Вот попытки стека службы AppHost, от текущих к предыдущим попыткам:
public override void Configure(Container container)
{
//Permit modern browsers (e.g. Firefox) to allow sending of any HTTP Method
SetConfig(new HostConfig
{
GlobalResponseHeaders = {
{ "Access-Control-Allow-Origin", "*" },
{ "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
{ "Access-Control-Allow-Headers", "Content-Type" },
},
});
}
ранее:
Plugins.Add(new CorsFeature(
allowOriginWhitelist: *,
allowCredentials: false,
allowedHeaders: *));
еще раньше:
Plugins.Add(new CorsFeature(
allowOriginWhitelist: new[] { "http://localhost","http://localhost:3000" },
allowCredentials: true,
allowedHeaders: "Content-Type, Allow, Authorization, X-Args"));
оригинал:
Plugins.Add(new CorsFeature());
РЕДАКТИРОВАТЬ Вот мое УДАЛЕНИЕ (я полагаю, это не ' получить столько же, потому что это предполетный запрос):
DELETE / NDBServiceStack / staff /ierarchy / 13 15 Происхождение: http://localhost: 3000 Ссылка: http://localhost: 3000 / index Принимать: / Пользователь-агент: Mozilla / 5.0 (Macintosh; Intel Ma c OS X 10_14_6) AppleWebKit / 605.1.15 (K HTML, как Gecko) Версия / 13.0.5 Safari / 605.1.15