首页 新闻 搜索 专区 学院

aspnetcore 3.0 跨域问题 测试环境通过正式环境不通过。

0
[待解决问题]

一个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]");
});

潇湘吹雨的主页 潇湘吹雨 | 初学一级 | 园豆:199
提问于:2019-10-29 15:52

你是前端项目一个container,后端项目一个container吗?还是前端项目publish出来的静态资源直接放到asp.net corewwwroot目录下的呢?

hellotim 9个月前

@hellotim: 谢谢关注哈。前端是一个 容器。看来你遇上过呢。如果是直接public放到nginx下面的,或者放到项目里面的wwwroot的都没问题呢。但是测试环境也是容器呢。基于k8s。就是后台接口和前端都是容器。

潇湘吹雨 9个月前

遇到相同问题,请问解决了吗?

不凡路 9个月前
< >
分享
所有回答(1)
0

我也是用Vue + NetCore遇到的问题刚刚跟你相反。

 

你部署后前端和后段是部署在一个Docker上?

记录下请求日志看看。

Cornelius | 园豆:80 (初学一级) | 2019-10-29 17:31

后台没响应到日志。

支持(0) 反对(0) 潇湘吹雨 | 园豆:199 (初学一级) | 2019-11-01 08:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册