frdl / proxy
php proxy scripts
Fund package maintenance!
wehowski
webfan.de/sponsor-me
domainundhomepagespeicher.de
Requires
Requires (Dev)
- webfan3/hps: *
README
Simple Php Proxy based on Guzzle.
Installation
Use Composer...
composer require frdl/proxy
...or the Webfan Installer if you would like to build a larger project.
Usage
<?php use frdl\Proxy\Proxy; require 'vendor/autoload.php'; $proxy = (new Proxy(null, $_SERVER['REQUEST_URI'], 'green.example.com', //target host $_SERVER['HTTP_HOST'], //User Input, forward optionaly* $_SERVER['REQUEST_METHOD'], 'https', false)) ->withFakeHost(true) //*Do overwrite/not use users host header //...or... ->withFakeHeader('X-Forwarded-Host') ; $proxy->handle(true);
Internally the proxy ignores the bounce
-detection silently to fallback to any localhost scripts.
You can use it before/without handling the HTTP-Forwarding, e.g. to perform a (test-)request on the same host.
<?php if(!$proxy->bounce()){ $proxy = (new Proxy('blue', $_SERVER['REQUEST_URI'], 'blue.example.com', //target host 'example.com', //set the host header on the target script $_SERVER['REQUEST_METHOD'], 'https', true)) ->handle(true); }
Cache
Built in cache feature:
composer require doctrine/cache
$proxy->withCacheDir(string $dir = null, int $ttl= 1800, bool $force=true)