elfo404/laravel-cors-proxy

为laravel应用程序提供的一个简单的CORS代理

0.1.0 2017-03-21 14:25 UTC

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_proxyhttps_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: ...
});