апачи передают прокси - как переопределить адрес назначения?

Я выполняю апача как вперед прокси, чтобы сделать инжекцию заголовка, управление URL и запрос, регистрирующийся для некоторых приложений для Android, и я должен был бы переопределить место назначения для некоторых запросов.

Например, www.example.com имел бы IP-адрес 1.2.3.4 но я должен отклонить трафик к 4.3.2.1 не изменяя приложение или влияя на любые другие приложения, работающие на апачском сервере.

Мне также была бы нужна гибкость для переопределения адреса при различных условиях, что означает то управление /etc/hosts не опция.

Клиенты являются приложениями, работающими на эмуляторах Android, которые настроены для использования апачских экземпляров прокси, работающих на хост-машине.

До сих пор у меня есть установка как это:

## conf.d/proxy_a.conf
## proxy_b.conf, proxy_c.conf listen on different ports with different mappings / headers

Listen localhost:16002

<VirtualHost localhost:16002>
        ProxyRequests On
        ProxyPreserveHost On
        RewriteEngine On

        <Proxy "http://www.example.com/*">
                Order deny,allow
                Deny from all
                Allow from localhost

                RequestHeader set host "www.example.com"
                RewriteRule ^/?(.*) http://4.3.2.1/$1 [NE]
        </Proxy>

        <Proxy *>
                Order deny,allow
                Deny from all
                Allow from localhost
        </Proxy>

        ## also tried, doesn't work
        #RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
        #RewriteRule ^/?(.*) http://4.3.2.1/$1 [NE]

        RequestHeader set x-custom-header "abcdefgh"

        RequestHeader merge user-agent "proxy16002"

</VirtualHost>

Я знаю, что функциональность, которую я ищу, легко достижима с обратным прокси, но я ищу решение с помощью прямого прокси (никакая потребность изменить /etc/hosts или приложения).

Что отсутствует? Это даже возможно с апачем (2.2)?

1
задан 27 August 2015 в 13:15
1 ответ

Возможно, это не то, что вам нужно, но вы можете настроить другой Прокси-сервер Apache, например, на виртуальной машине, и измените там файл / etc / hosts. Затем трафик будет проходить через два прокси - один, за которым вы сейчас следите, другой, который вы настроили на виртуальной машине. Не идеальный, я знаю, но возможное решение, если никто не придумает что-то лучшее.

В качестве альтернативы вы можете изменить исходный код Apache и перекомпилировать его, но это тоже не идеально.

0
ответ дан 4 December 2019 в 07:14

Теги

Похожие вопросы