[英]Stuck at understanding CORS problem in ASP.NET Core
我在两个不同的 URL 上部署了完全相同的服务。
请注意,它们是同一应用程序的发布,并且它们是相同的(代码和配置)。 但是,它们托管在两个不同的 URL 上:
然后在我的 React 应用程序中,我使用 axios 连接到它们。 这是我的 axios 配置和请求拦截器:
const axiosApi = axios.create({
baseURL: import.meta.env.VITE_API_URL
})
const requestInterceptor = config => {
config.headers['Content-Type'] = 'application/json';
config.headers['Accept'] = 'application/json';
config.headers['X-Client'] = 'React';
if (localStorage.getItem('locale')) {
config.headers['Locale'] = localStorage.getItem('locale');
}
return Account.updateToken(() => {
config.headers.Authorization = `Bearer ${app.token()}`;
return Promise.resolve(config);
})
}
axiosApi.interceptors.request.use(requestInterceptor);
我的客户端应用程序位于https://admin.example.com
。
当我向https://api.admin.example.com
发送请求时,一切正常。
但是当我向https://api.example.com
发送请求时,我收到 CORS 错误:
CORS 策略已阻止从源“https://admin.example.com”访问“https://api.example.com/cache/clear”处的 XMLHttpRequest:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”header。
我的 .NET API 配置是这样的:
services.AddCors(o => o.AddPolicy("AllOrigins", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}));
并且两个 API URL 实际上在所有方面都是相同的。
这里有什么问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.