部署我的symfony api rest应用程序CORS错误



我在Symfony中开发了一个带有后端的应用程序NUXTJS。我部署了一个API REST,它允许我前后对话。一切都在当地工作。

我想在我的主机上部署它。所以我创建了两个子域:一个用于前端,一个用于后端。

因此,当我尝试访问我的应用程序时,我尝试连接,但我有以下两个错误CORS:

阻止跨来源请求:同源策略不允许读取位于的远程资源https://mysubdomain.domain.fr/api/login_check.(原因:缺少CORS标头"Access Control Allow Origin")

阻止跨来源请求:同源策略不允许读取位于的远程资源https://mysubdomain.domain.fr/api/login_check.(原因:CORS请求未成功)

我该怎么解决这个问题?非常感谢

您需要通过指定nextjs域而不是api域来启用CORS。如果您想确保您也可以通过使用*来允许所有域。但这会降低一点安全性。

如果你真的想安全,你可以在nextjs服务器上添加一个代理,它代理你的Symfony应用程序。例如,在NextJS应用程序中,将/api代理到Symfony应用程序主机名。通过这种方式,您根本不需要启用CORS。

如果您使用Api平台,您可能需要在.env文件中配置CORS_ALLOW_ORIGIN变量

最新更新