Apache forward proxy несовместим со многими виртуальными хостами

Apache forward proxy несовместим со многими виртуальными хостами

У меня есть Raspberry Pi под управлением Arch Linux ARM, который я использую в качестве HTTP-сервера с Apache/2.4.29 (Unix). Недавно я пытался настроить эту машину как прямой прокси-сервер, чтобы использовать corkscrew или proxytunnel для подключения к Интернету, используя свой ноутбук за злым брандмауэром. Поэтому я добавил виртуальный сервер со следующей конфигурацией:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName proxy.mydomain.com
    ErrorLog "/var/log/httpd/proxy-error_log"
    CustomLog "/var/log/httpd/proxy-access_log" common

    #SetEnv force-proxy-request-1.0 1
    #SetEnv proxy-nokeepalive 1

    ProxyRequests On
    ProxyVia Block
    AllowCONNECT 443 563 22 XYZ
    <Proxy *>
        Require ip XXX.XXX.XXX.XXX
    </Proxy>

    # The reverse proxy works, but the forward doesn't
    #ProxyPass /test https://google.it
</VirtualHost>

Кроме того, у меня есть еще два виртуальных сервера. Интересно, что прокси работает, если это единственный включенный виртуальный хост, но если я включаю еще один vhost, прокси больше не работает.

Когда прокси не работает, я не могу использовать его с Firefox (который говорит, что прокси отклоняет соединения), и не могу использовать его с Corkscrew (который говорит, что прокси не может подключиться к серверу: метод не разрешен); также в этой ситуации файл журнала Apache говорит "клиент отклонен конфигурацией сервера: /etc/httpd/htdocs". Однако, когда я включаю только виртуальный хост прокси, все работает, так что это не проблема Corkscrew. Кто-нибудь знает почему? Спасибо.

решение1

Для прямого прокси-сервера невозможно сопоставить ServerName или ServerAlias.

Вы можете взглянуть на sslh или sshttp, это мультиплексоры ssh/http(s), позволяющие использовать оба протокола на одних и тех же портах.

ваше здоровье

Связанный контент