2016-10-26 5 views
2

Wenn diese Frage unklar ist oder nicht hierher gehört/ist doppelt, lassen Sie es mich wissen.Umleitung auf Serverseite in Apache

Ich habe zwei Server laufen: ein (Apache) auf Port 80, und die zweite (custom) auf Port 81. Nun wird der individuelle Server für einige Scripting verwendet wird und nur abhört/cgi-bin Jetzt/

, i portiert mein Apache-Server, um eine benutzerdefinierte uRL abc.xyz und fügte hinzu

<VirtualHost *:80> 
Redirect "/cgi-bin/" "http://127.0.0.1:81/cgi-bin/" 
</VirtualHost> 

jedoch als i gehe auf abc.xyz/cgi-bin/somescript, es leitet mich um localhost: 81/cgi-bin/somescriptauf der Client-Seite. Und wie Sie wissen, kann der Server auf localhost nur über meinen Computer zugegriffen werden.

Es ist irgendwie möglich, eine Anfrage auf der Server-Seite statt Client umzulenken?

Antwort

2

Was Sie suchen, ist nicht für Apache, um eine Umleitung zu dienen, aber für Apache, um als reverse proxy zu handeln.

ProxyPass "/cgi-bin/" "http://127.0.0.1:81/cgi-bin/" sollte für Sie arbeiten.

+0

Ich habe versucht, wie ServerRoot 'zu tun "C:/xampp/Apache" Listen 127.0.0.1:80 Proxypass "/ cgi-bin /"„http://127.0.0.1: 81/cgi-bin/" LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so' aber es hat nicht funktioniert. – ad48

+0

Wenn ich zu "http://127.0.0.1:81/cgi-bin/glq.cgi" gehe, gibt es 'false' zurück. Aber wenn ich auf "http://127.0.0.1:80/cgi-bin/glq.cgi" gehe, wird "Error 500" angezeigt, etwas wie der Server ist überlastet oder es liegt ein Fehler im CGI-Skript vor. Beachten Sie, dass CGI-Skripte auf Port 81 die Ausgabe und nicht den Quellcode des Skripts anzeigen. – ad48

+0

BEHOBEN! Ich musste 'LoadModule proxy_http_module modules/mod_proxy_http.so' und '' hinzufügen – ad48