2009-08-24 18 views
0

Ich arbeite derzeit an der Einrichtung eines Reverse-Proxy zum Testen einer Flex-basierten Webanwendung.Flex-Reverse-Proxy-Probleme

Das aktuelle Setup verwendet Mod _ Proxy (mit Mod _ Proxy _ http), um Proxy zu einem anderen Host umzukehren. Alles scheint zu funktionieren, mit Ausnahme von Anfragen, die vom Flash-Player gestellt wurden, was zu der Fehlermeldung "Sicherheitsfehler beim Zugriff auf die URL" führt.

Ich habe eine crossdomain.xml auf dem Back-End-System eingerichtet, die einfach alles erlaubt, mit "< allow-access-from domain =" * "/ >".

Die crossdomain.xml ist sowohl im Backend als auch im Proxy-Server verfügbar.

Der seltsame Teil ist, dass, wenn ich den Verbindungsdatenverkehr mit Firebug überwachen, der Browser den Proxy umgehen und direkt zum Backend-Server gehen, um die crossdomain.xml-Datei zu erhalten.

Hat jemand irgendwelche Vorschläge, wie ich den Flex in einer solchen Umgebung richtig verhalten kann?

Ich habe meine Proxy-Konfiguration unten enthalten.

<IfModule mod_proxy.c>
ProxyRequests Off

<Proxy *> 
      AddDefaultCharset off 
      Order deny,allow 
      Allow from all 
    </Proxy> 

    # Enable/disable the handling of HTTP/1.1 "Via:" headers. 
    # ("Full" adds the server version; "Block" removes all outgoing Via: headers) 
    # Set to one of: Off | On | Full | Block 

    ProxyVia On 

<Location "/"> 
    ProxyPass http://backend:9080/ 
    ProxyPassReverse http://backend:9080/ 
</Location> 

</IfModule>

Antwort

1

Das Problem war tatsächlich das Ergebnis der Endpunkte, die in den WSDLs geschrieben wurden, die von der Webanwendung generiert wurden. Sie enthielten die URL des Backend-Servers. Ich musste die "ProxyPreserveHost" -Richtlinie aktivieren, damit sie die Proxy-URL für die Endpunkte verwendet. Das hat das Problem behoben.

0

Der Flash Player muss die URL der Reverse-Proxy-Server angegeben werden, nicht der Flex-Server.

+0

Wo würde ich das einstellen? – dskiles