Nabend,
ich habe auf dem RasPi einen Apache Webserver laufen und möchte gern IP-Cams usw. per Reverse Proxy in den Apachen einbinden.
Mit einer IP-Cam, ein neueres Modell, hat das bereits problemlos geklappt. Aber mein altes Modell (Noname, baugleich Foscam 8910W) zickt rum. Ich erhalte einfach nur eine komplett leere Website, wenn ich auf die Cam will.
Ich habe für jedes Gerät eine eigene Konfigurationsdatei erstellt unter /etc/apache2/conf-available und diese natürlich auch mit a2enconf enabled. Für die Cam sieht das so aus:
<IfModule mod_proxy.c>
<Location /ipcamsd>
ProxyPass http://192.168.1.4/
ProxyPassReverse http://192.168.1.4/
</Location>
</IfModule>
Wie gesagt, für die andere Cam funktioniert das so (mit <Location /ipcamhd> und entsprechender IP). Die kann ich dann unter http://<IP des RasPi>/ipcamhd erreichen.
Ich habe bei der nicht-funktionierenden Cam mal die Quellcodes der Websiten verglichen, einmal wenn ich sie direkt anspreche und es funktioniert und einmal über den Proxy, wenn ich nur eine leere Seite kriege. Der Quellcode ist identisch!
Also leitet der Apache offensichtlich die Daten durch, stellt jedoch einfach die Seite nicht (richtig) dar.
Im Quellcode der Cam-Seite steht einiges von Javascript, daher vermute ich, dass der Apache mit dem Javascript vielleicht nicht klar kommt. Habe schon viel im Netz gelesen, aber Javascript soll wohl standardmäßig gehen, ohne dass man ein Modul dafür aktivieren muss oder so.
Hier der Quellcode der Cam-Seite. Normalerweise gibt man dort die Benutzerdaten ein und kann eine Sprache wählen:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
BODY {
MARGIN: 0px; BACKGROUND-COLOR: #969696; font: arial;
}
</style>
<title></title>
</head>
<script src="public.js"></script>
<script src="jquery-1.4.4.min.js"></script>
<script language="javascript">
var user;
var pwd;
var language=getcookie('language');
if (language=='')
language='english';
if (language=='spanish')
document.write('<script src="spanish/string.js"><\/script>');
else if (language=='french')
document.write('<script src="french/string.js"><\/script>');
else if (language=='simple_chinese')
document.write('<script src="simple_chinese/string.js"><\/script>');
else if (language=='traditional_chinese')
document.write('<script src = "traditional_chinese/string.js"><\/script>');
else if (language=='Italian')
document.write('<script src = "Italian/string.js"><\/script>');
else if (language=='Polski')
document.write('<script src = "Polski/string.js"><\/script>');
else if (language=='Deutsch')
document.write('<script src = "Deutsch/string.js"><\/script>');
else if (language=='Hungarian')
document.write('<script src = "Hungarian/string.js"><\/script>');
else if (language=='Netherlands')
document.write('<script src = "Netherlands/string.js"><\/script>');
else if (language=='Portugal')
document.write('<script src = "Portugal/string.js"><\/script>');
else if (language=='Czech')
document.write('<script src = "Czech/string.js"><\/script>');
else if (language=='Turkish')
document.write('<script src = "Turkish/string.js"><\/script>');
else if (language=='Russian')
document.write('<script src = "Russian/string.js"><\/script>');
else if (language=='Korean')
document.write('<script src = "Korean/string.js"><\/script>');
else if (language=='Indonesian')
document.write('<script src = "Indonesian/string.js"><\/script>');
else if (language=='Denmark')
document.write('<script src = "Denmark/string.js"><\/script>');
else
document.write('<script src="english/string.js"><\/script>');
</script>
<frameset rows="0%,100%" frameborder="no" border="0" framespacing="0">
<frame name="vars" src="vars.htm" frameborder="no"></frame>
<frame name="main" frameborder="no"></frame>
</frameset><noframes></noframes>
</html>
Alles anzeigen
Hat jemand Ideen dazu?
Vielen Dank!