php - 我应该在 nginx.conf 或 Laravel config/cors.php 中添加我的 CORS 标头吗?
问题描述
我目前正在为 laravel 应用程序配置我的 nginx 服务器并添加了 Access-Control-Allow-Origin 标头。突然,我的浏览器抛出一个错误,提示此键存在多个标头值。原来在 Laravel 中有一个 cors.php 配置可用。现在我有点困惑是否让这个头由php应用程序本身处理或者我的nginx服务器是否应该对此负责是一个好主意。
有没有关于如何处理这个问题的最佳实践?
解决方案
使用 laravel cors 功能,您可以将 cors 标头附加到特定路由。但是你只能将它附加在 laravel 路由上,你的静态资产(如 css 文件、js、图像、字体等)不会被 cors 覆盖,因为它们是直接从文件系统访问而无需进入 laravel 应用程序的。
另一方面,如果你在 nginx 中设置 cors,它会影响所有请求(或根据你的配置)
因此,根据您的要求,您可以选择您需要的。如果您需要所有内容的 cors 标头,则需要通过 nginx 设置标头。如果您只需要某些特定路线的 cors(例如所有以 /api 开头的路线),那么您可以使用 laravel cors
推荐阅读
- stored-procedures - 存储过程中的易失性表 - Teradata
- java - Java 11 中的 OpenWebBeans CDI 失败
- java - 在插入数据库之前检查资源是否存在或等到 DAO 抛出异常?
- r - 处理缺失值的 R 程序(类似于 Python 中的应用函数)
- node.js - 无法在 Google Cloud 中加载 JS 和 CSS
- java - 为什么我的服务执行一次,然后即使在后台运行也无法运行?
- c++ - 向量排序算法,只对大于 0 的元素进行排序
- android - Android SQLite 在删除行后更新所有 id
- javascript - 如何在 Angular 中为自定义验证器添加自定义验证错误消息
- google-calendar-api - 启用“sendNotifications”时“quotaExceeded:超出日历使用限制”