Назад | Перейти на главную страницу

В туннеле ssh отказано в подключении к настройке прокси-сервера apache forward

Я пытаюсь настроить частный прокси-сервер на небольшом сервере. Я хочу использовать его во время конференции для туннелирования моего доступа в Интернет через ssh-туннель к прокси-серверу.

Итак, я создал виртуальный хост внутри apache-2.2, на котором запущены прокси, proxy_http и модуль proxy_connect. Я использую такую ​​конфигурацию:

<VirtualHost localhost:8080>
        ServerAdmin xxxxxxxxxxxxxxxxxxxx
        ServerName yyyyyyyyyyyyyyyyyyyy

        ErrorLog /var/log/apache2/proxy-error_log
        CustomLog /var/log/apache2/proxy-access_log combined

        <IfModule mod_proxy.c>
                ProxyRequests On
                <Proxy *>
                        # deny access to all IP addresses except localhost
                        Order deny,allow
                        Deny from all
                        Allow from 127.0.0.1
                </Proxy>
                 # The following is my preference. Your mileage may vary.
                 ProxyVia Block
                ## allow SSL proxy
                AllowCONNECT 443
        </IfModule>
</VirtualHost>

После перезапуска apache я создаю туннель от клиента к серверу:

#> ssh -L8080:localhost:8080 <server address>

и попробуйте получить доступ к Интернету через этот туннель:

#> links -http-proxy localhost:8080 http://www.linux.org

Ожидаю увидеть запрошенную страницу. Вместо этого появляется ошибка «В соединении отказано». В оболочке, открывающей туннель ssh, я получаю следующее:

канал 3: ошибка открытия: ошибка подключения: соединение отклонено

Кто-нибудь понял, почему это соединение отклонено?

Я согласен с CanOfSpam3, что использование -D8080 - лучший вариант, чем настройка прокси с помощью Apache. Однако, отвечая на ваш вопрос, я полагаю, вы пропустили Listen строка в Apache для прослушивания порта 8080 в дополнение к обычным. <VirtualHost> сам по себе не заставляет Apache прослушивать IP: упомянутый порт, вам также необходимо попросить Apache прослушать это с Listen. Вот ссылка от Apache

Ответ Raymonds, скорее всего, (без просмотра остальной части вашей конфигурации) - проблема, с которой вы столкнулись с частью apache.

Вы смотрели на использование туннеля SSH Socks? Вместо -L8080: localhost: 8080 вы можете -D8080, который с помощью socks позволяет туннелировать все, что совместимо с socks. Итак, для вашего примера вы должны уметь ssh -D8080 <server address> затем links -socks-proxy localhost:8080 http://www.linux.org который вырежет сервер Apache из беспорядка, и вы все равно выскочите из <server address>.