
Ich habe einen Raspberry Pi mit Arch Linux ARM, den ich als HTTP-Server mit Apache/2.4.29 (Unix) verwende. Vor kurzem habe ich versucht, diese Maschine als Forward-Proxy zu konfigurieren, um Corkscrew oder Proxytunnel zu verwenden, um eine Verbindung zum Internet herzustellen, während ich meinen Laptop hinter einer bösartigen Firewall verwende. Also habe ich einen virtuellen Server mit der folgenden Konfiguration hinzugefügt:
<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>
Daneben habe ich noch zwei weitere virtuelle Server. Interessant ist, dass der Proxy funktioniert, wenn er der einzige aktivierte virtuelle Host ist, aber wenn ich einen anderen virtuellen Host aktiviere, funktioniert der Proxy nicht mehr.
Wenn der Proxy nicht funktioniert, kann ich ihn weder mit Firefox verwenden (das besagt, dass der Proxy Verbindungen ablehnt), noch kann ich ihn mit Corkscrew verwenden (das besagt, dass der Proxy keine Verbindung zum Server herstellen kann: Methode nicht zulässig); außerdem besagt die Apache-Protokolldatei in dieser Situation „Client verweigert durch Serverkonfiguration: /etc/httpd/htdocs“. Wenn ich jedoch nur den virtuellen Proxy-Host aktiviere, funktioniert alles, es ist also nicht Corkscrews Problem. Weiß jemand, warum? Danke.
Antwort1
Sie können den Servernamen oder Serveralias für einen Forwardproxy nicht zuordnen.
Sie können sich sslh oder sshttp ansehen, das sind ssh/http(s)-Multiplexer, um beide Protokolle auf denselben Ports zu verwenden.
Prost