php - 我应该在 nginx.conf 中还是使用 Laravel config/cors.php 添加我的 CORS header ?

标签 php laravel amazon-web-services nginx

我目前正在为 Laravel 应用程序配置 nginx 服务器,并添加了 Access-Control-Allow-Origin header 。突然我的浏览器抛出一个错误,指出该键存在多个 header 值。原来 Laravel 中有一个 cors.php 配置可用。 现在我有点困惑让 php 应用程序本身处理这个 header 是否是一个好主意,或者我的 nginx 服务器是否应该对此负责。

是否有解决此问题的最佳实践?

最佳答案

使用 laravel cors 功能,您可以将 cors header 附加到特定路由。但你只能将其附加到 laravel 路由上,你的静态资源(例如 css 文件、js、图像、字体等)不会被 cors 覆盖,因为它们是直接从文件系统访问的,无需进入 laravel 应用程序。

另一方面,如果你在nginx中设置cors,它将影响所有请求(或基于你的配置方式)

所以根据您的要求,您可以选择您需要的。如果您需要所有内容的 cors header ,则需要通过 nginx 设置 header 。如果您只需要某些特定路由(例如以/api 开头的所有路由),那么您可以使用 laravel cors

关于php - 我应该在 nginx.conf 中还是使用 Laravel config/cors.php 添加我的 CORS header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68052607/

相关文章:

php - 无法将 css 类应用于动态菜单

php - 如何在 PHP 整数中保留前导零

php - 将图像链接命名为变量以便在 Laravel/HTML/CSS 中重用

amazon-web-services - 如何更改 AWS 控制台语言?

unix - 标准亚马逊 EC2 Linux 镜像基于哪种 Unix 风格?

php - mysql - UNION 项目的参数未包含在先前选择的项目中

php - 尝试提取数据并将其输入到下拉菜单中,但似乎没有提取任何内容?我错过了什么吗?

laravel - FullCalendar - 删除事件中的点

拉拉维尔 5 : Handle multiple connections and testing

amazon-web-services - 使用 PySpark 将数据上传到 Redshift