一个webapi,同样的代码,前后端分离,用vue项目。
同样的代码,测试环境跨域被通过了,正式环境,一直跨域 405.
配置上,域名肯定调整好了。
搞了3,4天了,一直搞不明白。 连怎么排查都没办法。 以前2.2的时候,可以允许任意跨域,现在3.0必须填写源。
我是docker部署,所以环境是一样的。dockerfile引用的是 asp:3.0
string[] domains =new string[] { "http://xxx.xxx.com"};
Console.WriteLine(string.Join(",", domains));
services.AddCors(o =>
o.AddPolicy(MyAllowSpecificOrigins,
builder => builder
.WithOrigins(domains)
.AllowAnyHeader()
.AllowAnyMethod()
.SetIsOriginAllowedToAllowWildcardSubdomains()
//.AllowAnyOrigin()
.AllowCredentials()
));
app.UseRouting();
app.UseCors(MyAllowSpecificOrigins);
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("default", "api/[controller]/[action]");
endpoints.MapControllerRoute("apiDefault", "api/[controller]/[action]");
});
我也是用Vue + NetCore遇到的问题刚刚跟你相反。
你部署后前端和后段是部署在一个Docker上?
记录下请求日志看看。
后台没响应到日志。
你是前端项目一个container,后端项目一个container吗?还是前端项目
– hellotim 5年前publish
出来的静态资源直接放到asp.net core
的wwwroot
目录下的呢?@hellotim: 谢谢关注哈。前端是一个 容器。看来你遇上过呢。如果是直接public放到nginx下面的,或者放到项目里面的wwwroot的都没问题呢。但是测试环境也是容器呢。基于k8s。就是后台接口和前端都是容器。
– 潇湘吹雨 5年前遇到相同问题,请问解决了吗?
– 不凡路 5年前