【问题标题】:Should i add my CORS Header in nginx.conf or with Laravel config/cors.php?我应该在 nginx.conf 或 Laravel config/cors.php 中添加我的 CORS 标头吗?
【发布时间】:2021-06-20 13:17:39
【问题描述】:
我目前正在为 laravel 应用程序配置我的 nginx 服务器,并添加了 Access-Control-Allow-Origin 标头。突然,我的浏览器抛出一个错误,提示此键存在多个标头值。原来在 Laravel 中有一个 cors.php 配置可用。
现在我有点困惑是让这个标头由 php 应用程序本身处理还是我的 nginx 服务器应该对此负责。
是否有关于如何处理此问题的最佳实践?
【问题讨论】:
标签:
php
laravel
amazon-web-services
nginx
【解决方案1】:
使用 laravel cors 功能,您可以将 cors 标头附加到特定路由。但是你只能将它附加在 laravel 路由上,你的静态资产(如 css 文件、js、图像、字体等)不会被 cors 覆盖,因为它们是直接从文件系统访问而无需进入 laravel 应用程序的。
另一方面,如果你在nginx中设置cors,它会影响所有请求(或者根据你的配置)
所以根据您的要求,您可以选择您需要的。如果您需要所有内容的 cors 标头,则需要通过 nginx 设置标头。如果您只需要某些特定路线的 cors(例如所有以 /api 开头的路线),那么您可以使用 laravel cors