В туннеле ssh отказано в соединении с настройкой прямого прокси-сервера apache
Я пытаюсь настроить частный прямой прокси на небольшом сервере. Я имею в виду использовать его во время конференции для туннелирования моего доступа в Интернет через туннель 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
Я ожидаю увидеть запрашиваемую страницу. Вместо этого возникает ошибка "Отказано в соединении". В shell, держащем открытый ssh туннель, я получаю это:
канал 3: открытие не удалось: подключение не удалось: подключение отказано
Кто-нибудь понял, почему отказано в этой связи?
2 ответа
Я согласен с CanOfSpam3, что использование -D8080 является лучшим вариантом, чем настройка прокси с помощью Apache. Однако, чтобы ответить на ваш вопрос, я думаю, вы пропустили Listen
Линия в Apache для прослушивания порта 8080 в дополнение к обычным. <VirtualHost>
Одно только не заставляет Apache слушать IP: упомянутый порт, вы также должны попросить Apache прослушивать это с Listen
, Вот ссылка от Apache
Ответ Raymonds, скорее всего, (не видя остальной части вашего конфига) является проблемой, с которой вы сталкиваетесь с частью apache.
Вы смотрели на использование SSH Socks туннеля? Вместо -L8080:localhost:8080 вы могли бы -D8080, который с помощью носков позволил бы вам туннелировать все, что совместимо с носками. Так что для вашего примера вы должны быть в состоянии ssh -D8080 <server address>
затем links -socks-proxy localhost:8080 http://www.linux.org
что бы вытащить сервер apache из беспорядка и все же вы выскочить из <server address>
,