AWS和CORS限制

时间:2018-11-12 15:42:53

标签: vb.net cors

我有一个reactJS应用程序,它使用自定义的webAPI调用(用Visual Basic编写)。 webAPI托管在AWS beantalk上。在本地计算机上开发应用程序时,出现了CORS限制错误。为了避免CORS限制,我在webAPI中添加了以下代码:

Public Module WebApiConfig
    Public Sub Register(ByVal config As HttpConfiguration)
        ' Web API configuration and services
        Dim Cors = New EnableCorsAttribute("http://localhost:8080", "*", "*")
        config.EnableCors(Cors)
        ' Web API routes
        config.MapHttpAttributeRoutes()

        config.Routes.MapHttpRoute(
            name:="DefaultApi",
            routeTemplate:="api/{controller}/{id}",
            defaults:=New With {.id = RouteParameter.Optional}
        )
    End Sub
End Module

当我在本地计算机上运行应用程序时,将调用webAPI并执行其功能,然后将数据返回给我的应用程序。都是正确的。

然后,我创建了一个AWS S3存储桶(用于网络托管),并上传了reactJS应用程序。我记下了AWS生成的入口点。我打开浏览器并启动该应用程序,然后再次获得CORS限制。我替换了这一行代码

  

Dim Cors =新的EnableCorsAttribute(“ http://localhost:8080”,“ ”,“ ”)

使用这一行代码

  

Dim Cors =新的EnableCorsAttribute(“ http://mydomainname.s3-website.us-east-2.amazonaws.com”,“ ”,“ ”)

,CORS限制再次得到解决。

现在,要继续开发应用程序,我必须返回到原始代码行(启用本地主机url),但这会破坏应用程序的生产版本。

我对config.EnableCors命令的细节不熟悉。我可以仅通过使用url字符串调用config.EnableCors命令来启用多个url吗?还是我可以用不同的网址多次调用它?

0 个答案:

没有答案