fabgg6
Goto Top

Java-Applets funktionieren nicht (hinter Squid)

Wir haben einen neuen Kommunikationsserver, der unter Windows 2003 Server R2 läuft. Auf diesem ist die Filtersoftware Time for Kids installiert, die als Proxy den SquidNT mitbringt. Installiert ist hier 3.0.STABLE20. Besucht ein Nutzer eine Seite mit Java-Applets, so kommt immer die Fehlermeldung, dass die Class nicht gefunden wurde. Sie kann offenbar den Squid nicht passieren.

Lasse ich dagegen den Browser über einen Jana-Proxy laufen, geht alles normal. Es muss also am Squid liegen. Blockademeldungen vom Filter sehen anders aus, daran liegt es also auch nicht.

Der Jana-Server arbeitet nicht mit dem Time-for-Kids-Filter zusammen, der bei uns an der Schule aber vorgeschrieben ist. Ich habe also keine Alternative. Früher, mit dem alten Kommunikationsserver und der alten Time-for-Kids-Software ging es. Es ist bei allen Browsern (IE 6-8, Firefox 3.6) und allen Betriebssystemen (Win 2000/XP/7) dasselbe. Alle Rechner sind bzgl. des Betriebssystems und des JRE aktuell.

Welche Einstellung muss ich (möglicherweise in der Squid.conf oder einer anderen Konfigurationsdatei) machen, damit Java-Klassen (und einige weitere Formate) passieren können?

Gruß, GG.

Content-ID: 137030

Url: https://administrator.de/forum/java-applets-funktionieren-nicht-hinter-squid-137030.html

Ausgedruckt am: 22.12.2024 um 18:12 Uhr

dog
dog 28.02.2010 um 03:02:39 Uhr
Goto Top
Kontrolliere bitte mal folgendes:

8a127862fa7426a44ff660063d702ef1
fabgg6
fabgg6 28.02.2010 um 10:58:11 Uhr
Goto Top
(Danke. Ich bin mir ziemlich sicher, dass dort alles grün ist, werde es aber sicherheitshalber kontrollieren.)

Es ist wohl nicht der Filter, der die Dateien blockt.
maretz
maretz 28.02.2010 um 13:12:57 Uhr
Goto Top
Moin,

ich kenne leider nur die Linux-Version vom Squid. Dort gibt es eine Protokoll-Datei (/var/log/squid/access.log) - guck mal ob die Win-Version sowas auch hat. Denn da steht schon einiges drin - z.B. ob eine Datei geblockt wurde (Access denied) oder ob die akzeptiert wurde. Es kann ja sein das der Programmierer deiner Webanwendung so klug war zu ignorieren das es auch Dienste HINTER einem Proxy gibt (und zwar einem Proxy der auch mal nachguckt...). In dem Fall würde die class geladen werden - aber der Rechner kann das nicht ausführen.

Dann musst du halt gucken ob du irgendwo explizit nen Proxy einstellen musst oder was sonst möglich wäre...
fabgg6
fabgg6 28.02.2010 um 13:18:14 Uhr
Goto Top
SquidNT hat offenbar dieselben Konfigurationsdateien und -einstellungen wie die Linuxversion. Es handelt sich aber nicht um ein "Access denied". Dann käme ja die entsprechende Fehlermeldung. Stattdessen kommt "xxx.class not found".
dog
dog 28.02.2010 um 17:05:07 Uhr
Goto Top
Ja, natürlich kommt die Fehlermeldung, weil Java eine Klasse nachladen will, die es aber nicht findet (und das wahrscheinlich, weil das Nachladen verboten ist).

Nehmen wir mal folgendes Beispiel: http://www.jgiesen.de/javascript/Beispiele/Bubbles/Bubbles.html
Die eigentlich relevante Datei ist: http://www.jgiesen.de/javascript/Beispiele/Bubbles/Bubbles.class

Diese musst du im Browser aufrufen um die richtige Fehlermeldung zu bekommen.
fabgg6
fabgg6 01.03.2010 um 22:57:49 Uhr
Goto Top
Im Filter ist alles grün. Ich habe es kontrolliert und es war wie erwartet.

Die anderen Tipps kann ich erst morgen ausprobieren.
fabgg6
fabgg6 04.03.2010 um 14:04:48 Uhr
Goto Top
Also es ist tatsächlich so, dass Squid die Dateien nicht weiterleitet (DENIED im Protokoll). Schaltet man die Authorisierung im Verzeichnisdienst ab, dann geht alles. Allerdings gelten dann auch keine Lernboxen mehr, weil diese ja eine Überprüfung der Identität zwingend erfordern.

Was kann ich tun?
dog
dog 04.03.2010 um 17:55:03 Uhr
Goto Top
Wende dich an den TFK-Support.
So lange du dich nicht darauf verlässt, dass die dich "gleich zurückrufen", können die helfen face-smile
fabgg6
fabgg6 04.03.2010 um 20:07:37 Uhr
Goto Top
Nicht gleich ist gut. Ich warte jedesmal 4 oder 5 Tage auf eine eMail-Antwort. Wie ein Unternehmen, dass mit Kommunikation Geld verdienen will, sich das leisten kann, ist mir unklar. Die Stadtverwaltung ist auch schon eingeschaltet. Wenn wir umsteigen, dann verlieren die gleich 40 Kunden auf einen Schlag.
dog
dog 04.03.2010 um 20:13:15 Uhr
Goto Top
Evtl. kann ich auch mal meine Unterlagen durchgucken, ich habe irgendwo die DuWa des "Chef-Entwicklers", aber der ist selten zu erreichen face-smile

Das Hauptproblem hier ist, dass wir z.B. AFAIK verpflichtet sind einen Filter mit der nicht-öffentlichen BPjM-Liste zu verwenden.
Da gibt es nicht viele und gegen die DOM sBox ist TFK ein wahrer Segen face-smile
fabgg6
fabgg6 05.03.2010 um 17:37:01 Uhr
Goto Top
Heute habe ich jemanden telefonisch erreicht. In rund 90 Minuten konnte ein Problem (von 3) gelöst werden. Allerdings handelte es sich dabei nicht um das Java-Problem. Dazu bekomme ich (hoffentlich) in den nächsten Tagen eine Datei, die Ausnahmen für die Authentifizierung in die squid.conf übernimmt.

Browser-Plugins (oder Addons) senden häufig selbst keine Authentifizierung und die daraufhin "nach"-geladenen Dateien werden daher vom Proxy geblockt. Damit man diese Einstellung nun nicht in jedem Plugin suchen und ändern muss (schon bei Java haben wir keine derartige Einstellung gefunden), wird eine Ausnahmeliste angelegt. Der Techniker muss sich aber erstmal wegen der genauen Syntax kundig machen. Versuche ins Blaue hinein haben (natürlich) keinen Erfolg gebracht.

Prinzipiell sollte das Problem damit gelöst sein. Ich werde diesen Thread aber erst dann als gelöst markieren, wenn es wirklich funktioniert.

Zitat von @dog:
... und gegen die DOM sBox ist TFK ein wahrer Segen face-smile

Interessanterweise kommen mitunter aber noch derartige Fehlermeldungen: Warning: DOMXPath::query(): Unfinished literal in ... on line 2829 ...

Klingt zumindest ziemlich ähnlich.

Gruß, GG.
dog
dog 05.03.2010 um 23:56:05 Uhr
Goto Top
Hehe, klingt ähnlich hat aber gar nix miteinader zu tun.

Die Firma hinter der sBox heißt D.O.M. dv.
Der Fehler von dir bezieht sich auf das DOM - Document Object Model.
Das ist grob gesagt die Art und Weise wie ein Browser den HTML-Code intern in Objekte umwandelt, die dann gesteuert werden können.
fabgg6
fabgg6 10.03.2010 um 21:24:16 Uhr
Goto Top
Lustig. ;)

Hier ist nun die Lösung der Sache. Man trägt eine davon in die Squid.conf ein bzw. aktiviert die Gewünschte durch das Löschen der entsprechenden Rauten in einem Absatz.

Werden weitere Dateiformate blockiert, so empfiehlt sich die 1. Möglichkeit. Da sich wohl im Laufe der Zeit eine ganze Liste ansammeln wird, kann man diese auch in einer Datei speichern und von der squid.conf aus auf diese verweisen.

### 1. Möglichkeit: Authentifizierung für bestimmte Dateitypen umgehen (eigene Lösung)
acl Durchgang url_regex –i \.class$ \.mp3$ \.m3u$ \.pls$ \.wmv$ \.jar$ \.css$
### Mit externer Datei, wobei für jeden Typen eine neue Zeile verwendet werden müsste
#acl Durchgang url_regex -i "/etc/Durchgangstypen.txt" 
http_access allow Durchgang all

### 2. Möglichkeit: Java-Authentifizierung umgehen (Time for Kids Support)
#acl default_allowed_useragents browser (Java)
#http_access allow all default_allowed_useragents

### 3. Möglichkeit: Java-Authentifizierung umgehen (aus den Tiefen des Internets)
#acl Java browser Java/1.1 Java/1.2 Java/1.3 Java/1.4 Java/1.5 Java/1.6
#http_access allow Java

### Generelle Ausnahme für Multimedia-Streams via AOL (eigene Lösung)
acl Streams dstdomain .stream.aol.com
http_access allow Streams

### Alle Ausnahmen stehen VOR der Authentifizierung
### Authentifizierung einschalten
acl password proxy_auth REQUIRED
http_access allow password

Ich werde noch ein wenig rumprobieren. ;)

Gruß, GG.