Konfigurieren von Apache für die Verwendung von Unternehmensproxy für externe Webanfragen

1538
KarlHungus

Ich habe einen Apache-Webserver in meinem Intranet.

Ich möchte, dass alle externen HTTP / HTTPS-Anforderungen meiner Apache-Web-App den Intranet-Proxy meines Unternehmens verwenden.

Umgebung

  • Linux v2.6.32-504.12.2.el6.x86_64
  • Red Hat v4.4.7-9
  • Apache v2.2.15

Ich habe die folgenden Module in aktiviert httpd.conf

  • proxy_module
  • proxy_connect_module
  • proxy_http_module

URLs

  • Site ist internal.company.com (http)
  • Proxy ist proxy.company.com:1234 (http)
  • Externe Ressource ist external.site.com (https)

Manuelles Festlegen des Proxy für ein curlWerk wie erwartet:

curl -x proxy.company.com:1234 -L external.site.com 

Nichts davon scheint zu funktionieren:

1

ProxyRequests Off  <Proxy *> Order deny,allow Allow from all </Proxy>  ProxyPass external.site.com proxy.company.com:1234 ProxyPassReverse external.site.com proxy.company.com:1234 

2

ProxyRequests On ProxyRemote external.site.com proxy.company.com:1234 NoProxy .company.com 

3.

ProxyRequests On ProxyRemote * proxy.company.com:1234 NoProxy .company.com 

Ich habe auch verschiedene Kombinationen der obigen Einstellungen ausprobiert. Die Informationen in den Apache-Dokumenten über Intranet-Proxy waren auch nicht besonders hilfreich.

Wirklich schätzen jede Hilfe!

0

1 Antwort auf die Frage

0
LawrenceC

Apache Web App

Apache führt Ihre Web-App nicht aus. Es handelt sich dabei um PHP oder einen anderen Handler, der Ihre App ausführt. Apache akzeptiert eine Verbindung. Wenn die Ziel-URL mit einem Skript-Handler übereinstimmt, übergibt er die HTTP-Daten an den Skript-Handler und übergibt die Ausgabe anschließend der anfordernden Verbindung. Apache kontrolliert nicht wirklich, was der Skript-Handler außerhalb des HTTP oder anderer Daten tut, die er zurückgibt.

Die Optionen, mit denen Sie sich beschäftigen, sind zum Einrichten von Reverse-Proxies, die nicht mit einem ausgehenden HTTP-Proxy identisch sind.

Sie müssen die Web-App selbst so konfigurieren, dass ein Proxy für ausgehende Anforderungen verwendet wird. Eine kurze Suche bietet keine einfache Möglichkeit, alle PHP-Apps zu erstellen, z. B. einen Proxy für ausgehende Verbindungen zu verwenden. Dies ist also etwas, das hoffentlich von Ihrer Anwendung unterstützt wird.

Ah ok, ja, Entschuldigung für den falschen Namen. Ich habe einen Apache-Webserver, der eine Knoten-App hostet. Ich bin wirklich froh, dass Sie darauf hingewiesen haben, da ich mich so sehr damit beschäftigt hatte, dies als Apache-Problem herauszufinden. Ich werde über die Konfiguration der Anforderungen im Knoten für die Verwendung eines Proxys informieren. KarlHungus vor 9 Jahren 0