Nginx в качестве прямого прокси TCP - PullRequest
0 голосов
/ 29 мая 2018

Я знаю, что мог бы использовать что-то вроде этого:

stream {
    upstream ssh {
        server X.X.X.X:22;
    }

    server {
             listen 2222;
             proxy_pass    ssh;
    }
}

, чтобы прокси передавать входящий трафик на порт 2222 на порт другого IP-адреса 22.

Простой.Но есть ли способ создать динамический прокси-сервер, который принимает имя хоста и порт конечного пункта назначения в качестве параметров?

Что-то, что может быть использовано следующим образом:

proxy_hostname:8080?destination_hostname=example.com&destination_port=1111

ngx_stream_core_module не принимает параметры URL.Может ли nginx использоваться в качестве диманического прокси или только для статического туннелирования?

Я спрашиваю об этом, потому что мне нужен способ скрыть IP-адрес компьютера, запускающего запросы php mysql.

mysqli_connect($hostname, ...)

прямо сейчас я не могу указать прокси-сервер для сценария php, только для всей машины.

1 Ответ

0 голосов
/ 30 мая 2018

Может быть с небольшим скриптом и fcgiwrap:

https://www.nginx.com/resources/wiki/start/topics/examples/fcgiwrap/

fcgiwrap вызывает скрипт bash, где вы можете преобразовать URI в программу, которую хотите вызвать (mysql), ивернуть вывод в nginx как веб-контент.

Вы также можете изменить конфигурацию nginx и перезагрузить сервис.Таким образом, вы можете «динамически» открывать / пересылать порты.Совершенно небезопасно, если вы сделаете это общедоступным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...