Localzet Server and Cluster documentation

Proxy: начало работы

Localzet Proxy — экспериментальный HTTP forward proxy для доверенной сети. У него нет клиентской аутентификации, поэтому оставьте listener на loopback, а разрешённые назначения перечислите явно.

composer config repositories.localzet-proxy vcs https://github.com/localzet/Proxy
composer require localzet/proxy:dev-main

Создайте proxy.php:

<?php

use localzet\Proxy;

require __DIR__ . '/vendor/autoload.php';

$proxy = new Proxy('tcp://127.0.0.1:8080');
$proxy->name = 'restricted-forward-proxy';
$proxy->count = 1;
$proxy->allowedHosts = ['api.example.org'];
$proxy->allowedPorts = [443];

Proxy::runAll();

Запустите локально:

php proxy.php start

Проверьте, что неразрешённые host и port отклоняются. Разрешённый CONNECT можно проверить клиентом curl:

curl --proxy http://127.0.0.1:8080 https://api.example.org/health

Список разрешённых имён проверяется до DNS-разрешения. Он сам по себе не блокирует private, loopback или link-local адреса, на которые может указывать разрешённое имя; закройте исходящий доступ firewall/ACL. Не публикуйте прокси во внешнюю сеть без отдельного слоя аутентификации и сетевого контроля. Команды локальных проверок и ограничения парсинга перечислены в API и эксплуатации.