在 Laravel 中,實現跨域訪問通常是通過設置 CORS(跨來源資源共享)策略來完成的。在 CentOS 系統上,你可以使用以下方法之一來實現跨域訪問:
方法一:使用 Laravel 內置的中間件
php artisan make:middleware CorsMiddleware
app/Http/Middleware/CorsMiddleware.php
,然后修改 handle
方法:public function handle($request, Closure $next)
{
$response = $next($request);
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->headers->set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
$response->headers->set('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization');
return $response;
}
這里我們設置了允許所有來源的訪問,你可以根據需要修改 Access-Control-Allow-Origin
的值。
app/Http/Kernel.php
文件的 $middleware
數組中:protected $middleware = [
// ...
\App\Http\Middleware\CorsMiddleware::class,
];
現在,你的 Laravel 應用應該已經允許跨域訪問了。
方法二:使用 Nginx 配置
如果你使用 Nginx 作為 Web 服務器,你可以在 Nginx 配置文件中添加以下內容來實現跨域訪問:
location / {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type, Accept, Origin, Authorization' always;
# 其他配置...
}
這里我們同樣設置了允許所有來源的訪問,你可以根據需要修改 Access-Control-Allow-Origin
的值。
修改完成后,重啟 Nginx 服務以使更改生效:
sudo systemctl restart nginx
現在,你的 Laravel 應用應該已經允許跨域訪問了。