elfo404 / laravel-cors-proxy
为laravel应用程序提供的一个简单的CORS代理
0.1.0
2017-03-21 14:25 UTC
Requires
- guzzlehttp/guzzle: ~6.0
- illuminate/support: ~5
This package is not auto-updated.
Last update: 2021-10-16 04:07:29 UTC
README
为laravel应用程序提供的一个简单的CORS代理
安装
将包添加到 composer.json 中
"require": { ... "elfo404/laravel-cors-proxy": "0.1.0" },
或者从命令行运行: composer require elfo404/laravel-cors-proxy
在 config\app.php 的 providers 部分添加 Elfo404\LaravelCORSProxy\CORSProxyServiceProvider::class
无需添加 Facade。
现在您有一个用于提交CORS代理请求的端点: http[s]://example.com/proxy
配置
运行 php artisan vendor:publish --provider="Elfo404\LaravelCORSProxy\CORSProxyServiceProvider" --tag=config --force
将默认配置导出到 config/cors-proxy.php
<?php return [ 'header_name'=>'X-Proxy-To', 'valid_requests'=>[], 'http_proxy'=>false, 'https_proxy'=>false, ];
header_name
是包含您想要代理的uri的默认header名称。每个请求都必须发送此header并指定要将请求发送到哪个uri。- 包含可以代理的uri列表的
valid_requests
数组。这仅出于安全原因,因为这些端点是公开可访问的。 http_proxy
和https_proxy
是不言自明的,改进的文档即将推出。
用法
- jQuery示例(domainA.com)
$.ajax({ type: "POST", beforeSend: function(request) { request.setRequestHeader("X-Proxy-To", 'http://domainB.com/api'); }, url: "http://domainA.com/proxy", data: ... });