Kirjoittaja Aihe: [RATKAISTU] ip kamera  (Luettu 6566 kertaa)

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
[RATKAISTU] ip kamera
« : 27.07.14 - klo:15.49 »
Kesää!
Ajankuluksi viritellyt Raspberryyn palvelimen. Tarkoitus liittää tuohon useampi ip kamera.
Mokkula yhteydellä saatu Dy.fi:n avulla yhteys auki ja testi sivu aukeaa mukavasti ulko-/sisäverkon kautta.
Viimeinen kanto kaskessa on, ettei ulkoa avaudu testi sivuun sisällytetty videokuva. Sisäverkosta käsin aukeaa hyvin.
Ihan ensimmäinen palvelin viritys kyseessä, joten syy varmasti simppeli.
Voiko syy olla hitaissa yhteyksissä (tuskin), vai onko vika tuossa palvelinsivun osoitteen ohjauksessa toiseen sisäverkon osoitteeseen?
« Viimeksi muokattu: 30.07.14 - klo:17.56 kirjoittanut harras »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: ip kamera
« Vastaus #1 : 27.07.14 - klo:17.22 »
Voiko syy olla hitaissa yhteyksissä (tuskin), vai onko vika tuossa palvelinsivun osoitteen ohjauksessa toiseen sisäverkon osoitteeseen?

Miten se on ohjattu? Toimiiko Raspberry välityspalvelimena (proxy) vai lähettääkö se osoitteen selaimeen jollain tavalla? Ensimmäisen tavan pitäisi toimia, mutta toinen ei toimi, koska myös toisen osoitteen pitäisi olla julkinen.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: ip kamera
« Vastaus #2 : 27.07.14 - klo:21.04 »
Olen sisällyttänyt tuon kameran kuvan verkkosivuun seuraavalla loitsulla:
<img src="http://192.168.1.109:99/snapshot.cgi?&user=Visit&pwd=&t=" onload='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 1000)' onerror='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 5000)' alt='' />

Siis tuo lan osoite ei ilmeisesti käy, vaan pitäisi siis toteuttaa jotenkin muuten.
Suosituksia?


Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: ip kamera
« Vastaus #3 : 27.07.14 - klo:22.44 »
Olen sisällyttänyt tuon kameran kuvan verkkosivuun seuraavalla loitsulla:
<img src="http://192.168.1.109:99/snapshot.cgi?&user=Visit&pwd=&t=" onload='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 1000)' onerror='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 5000)' alt='' />

Siis tuo lan osoite ei ilmeisesti käy, vaan pitäisi siis toteuttaa jotenkin muuten.
Suosituksia?

Juu, tuo ei käy.

Mitä web-palvelinta käytät? Jos käytät Apachea niin mod_proxy voisi olla ratkaisu:
http://httpd.apache.org/docs/current/mod/mod_proxy.html
http://stackoverflow.com/questions/1997001/setting-up-a-basic-web-proxy-in-apache

Muokkaus: Tuossa olisi siis ihan Raspberrylle kirjoitettu Apachen mod_proxy -ohje: http://www.gavinwill.me.uk/2012/06/raspberry-pi-and-reverse-proxy/
No, joo. Ei kyllä ollut kovin kummonen ohje. Sama mitä perus-Debianille käy. Eli toi a2enmod-komento sieltä ja sitten asetukset voi tehdä ylemmän linkin mukaan. Katotaanpas jos löytäisin jonkun järkevän.


Huonoja ohjeita tähän tarkoitukseen, tässä omat:
Laitetaan mod_proxy käyttöön:
Koodia: [Valitse]
sudo a2enmod proxyLisätään omat asetukset Apachelle:
Koodia: [Valitse]
sudo -i leafpad /etc/apache2/httpd.confLisää rivit:
Koodia: [Valitse]
   ProxyPass /videot http://192.168.1.109:99/
    ProxyPassReverse /videot  http://192.168.1.109:99/
Huom. Tuo tiedosto voi olla joku muukin, jos olet tehnyt itse Apacheen säätöjä tai jos Raspberryssä on jotain erilaista Apachen paketoinnissa. En testannut ohjeita erikseen. Lopuksi:
Koodia: [Valitse]
sudo service apache2 reloadJa vielä korjaa nuo osoitteet tuolta HTML-tiedostosta http://mikaliepalvelin/videot/snapshot.cgi?&user=Visit&pwd=&t=

Jos käytät jotain muuta web-palvelinta, niin todennäköisesti sillä onnistuu sama, mutta pitää etsiä sille omat ohjeet. Eli en sen takia heti alkaisi sitä vaihtamaan, vaan katsotaan sen säädöt ensin.
« Viimeksi muokattu: 27.07.14 - klo:22.59 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: ip kamera
« Vastaus #4 : 28.07.14 - klo:11.37 »
Selvä juttu, kiitoksia.

Hiawatha on käytössä. Proxyt on uutta juttua mulle, joten perehdyn aiheeseen ja tutkin miten asetukset menee Hiawathassa.
Palaan aiheeseen parin päivän sisällä ja kuittaan ratkaistuksi jos lähtee futaamaan.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: ip kamera
« Vastaus #5 : 28.07.14 - klo:15.32 »
Selvä juttu, kiitoksia.

Hiawatha on käytössä. Proxyt on uutta juttua mulle, joten perehdyn aiheeseen ja tutkin miten asetukset menee Hiawathassa.
Palaan aiheeseen parin päivän sisällä ja kuittaan ratkaistuksi jos lähtee futaamaan.

Se mitä haluat on Reverse Proxy ja Hiawatha (joka on uusi tuttavuus minulle) näkyy sitä tukevan. Netistä löytynee valmiita ohjeitakin.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: ip kamera
« Vastaus #6 : 28.07.14 - klo:18.33 »
No niin, nyt toimii.
Conffiin yhden rivin lisäys ja kameraan ohjaa sujuvasti  :)

Mutta, mutta. Miten tuon saisi niin, että pääsisi kiinni varsinaiselle verkkosivulle ensin?
Alkuperäinen probleemi oli juuri tuo, ettei img src tai href linkki toimi niinkuin ajattelin.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: ip kamera
« Vastaus #7 : 28.07.14 - klo:22.16 »
No niin, nyt toimii.
Conffiin yhden rivin lisäys ja kameraan ohjaa sujuvasti  :)

Mutta, mutta. Miten tuon saisi niin, että pääsisi kiinni varsinaiselle verkkosivulle ensin?
Alkuperäinen probleemi oli juuri tuo, ettei img src tai href linkki toimi niinkuin ajattelin.

Siis minkälainen proxy siellä nyt on? Periaatteessa pitäisi onnistua kun vaihtaa tuon osoitteen siihen proxyn osoitteeseen.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: ip kamera
« Vastaus #8 : 29.07.14 - klo:17.28 »
Tuossa Hiawathan conffi. Lopussa lisäämäni proxy.
Tämä ohjaa sujuvasti kameraan, mutta miten tuon saisi ohjaamaan ensin web sivulle.

Koodia: [Valitse]
# Hiawatha main configuration file
#


# GENERAL SETTINGS
#
ServerId = www-data
ConnectionsTotal = 250
ConnectionsPerIP = 25
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log


# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
# Interface = 127.0.0.1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
}
#
#Binding {
# Port = 443
# Interface = ::1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
# SSLcertFile = hiawatha.pem
#}


# BANNING SETTINGS
# Deny service to clients who misbehave.
#
#BanOnGarbage = 300
#BanOnMaxPerIP = 60
#BanOnMaxReqSize = 300
#KickOnBan = yes
#RebanDuringBan = yes


# COMMON GATEWAY INTERFACE (CGI) SETTINGS
# These settings can be used to run CGI applications.
#
#CGIhandler = /usr/bin/perl:pl
#CGIhandler = /usr/bin/php-cgi:php
#CGIhandler = /usr/bin/python:py
#CGIhandler = /usr/bin/ruby:rb
#CGIhandler = /usr/bin/ssi-cgi:shtml
#CGIextension = cgi
#
#FastCGIserver {
# FastCGIid = PHP5
# ConnectTo = 127.0.0.1:2005
# Extension = php
#}


# URL TOOLKIT
# This URL toolkit rule was made for the Banshee PHP framework, which
# can be downloaded from http://www.hiawatha-webserver.org/banshee
#
#UrlToolkit {
# ToolkitID = banshee
# RequestURI isfile Return
# Match ^/(css|files|images|js|slimstat)($|/) Return
# Match ^/(favicon.ico|robots.txt|sitemap.xml)$ Return
# Match .*\?(.*) Rewrite /index.php?$1
# Match .* Rewrite /index.php
#}


# DEFAULT WEBSITE
# It is wise to use your IP address as the hostname of the default website
# and give it a blank webpage. By doing so, automated webscanners won't find
# your possible vulnerable website.
#
Hostname = 127.0.0.1
WebsiteRoot = /var/www/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
#ErrorHandler = 404:/error.cgi


# VIRTUAL HOSTS
# Use a VirtualHost section to declare the websites you want to host.
#
#VirtualHost {
# Hostname = www.my-domain.com
# WebsiteRoot = /var/www/my-domain/public
# StartFile = index.php
# AccessLogfile = /var/www/my-domain/log/access.log
# ErrorLogfile = /var/www/my-domain/log/error.log
# TimeForCGI = 5
# UseFastCGI = PHP5
# UseToolkit = banshee
#
#}


# DIRECTORY SETTINGS
# You can specify some settings per directory.
#
#Directory {
# Path = /home/baduser
# ExecuteCGI = no
# UploadSpeed = 10,2
#}

ReverseProxy .* http://192.168.1.109:99/

Muokkaus (Tomin): Lisätty code-tagit.
« Viimeksi muokattu: 29.07.14 - klo:17.58 kirjoittanut Tomin »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: ip kamera
« Vastaus #9 : 29.07.14 - klo:18.03 »
Tuossa Hiawathan conffi. Lopussa lisäämäni proxy.
Tämä ohjaa sujuvasti kameraan, mutta miten tuon saisi ohjaamaan ensin web sivulle.

Jos tarkoitat ettet nyt nää tuota Raspberryllä olevaa nettisivua, niin se johtuu ReverseProxyn säädöistä. Nyt se ohjaa kaikki pyynnöt tuonne kameralle. Eli tuota ReverseProxy riviä pitää vähän säätää.

Hiawathan man-sivulta:
Lainaus
Koodia: [Valitse]
ReverseProxy [!]<pattern> http[s]://<hostname>[:<port>][/<path>] [<timeout>] [keep-alive]
    Forward the request with URLs that match the regular expression <pattern> to another webserver, where
<path> is placed before the original URL. Note that the reverse proxy selection comes before the URL toolkit
handling. When <hostname> is an IP address, the value of the Host HTTP header is unchanged. Otherwise, it is
replaced with the value of <hostname>. The connection is closed after <timeout> seconds, which is set to 5
seconds by default. By default, Hiawatha doesn't use keep-alive connections to the final webserver. You can
enable this by adding 'keep-alive' to the configuration line.
    Example: ReverseProxy ^/icons http://resources.lan/images
Eli tuo .* pitää muuttaa joksikin muuksi. Ehkä seuraava rivi toimisi paremmin:
Koodia: [Valitse]
ReverseProxy ^/snapshot.cgi http://192.168.1.109:99/snapshot.cgi
Muokkaus: Mietin tuota asetusriviäni ja tein siihen korjauksen, en tiedä toimisiko se nyt paremmin.
« Viimeksi muokattu: 29.07.14 - klo:20.06 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: ip kamera
« Vastaus #10 : 29.07.14 - klo:19.08 »
Hiukan kädestä pitäen ohjaamiseksi menee  :-\

Tuolla viilauksella ei kameraan mene, muuten kuin sisäverkosta.
Raspberryn verkkosivulla on siis yksinkertainen linkki:

<a href="http://192.168.1.109:99">Visit </a>

Jos tuohon laittaa xxxx.xxxx.dy.fi osoitteen ei se tietty mitään muuta. Ohjaa takaisin samalle sivulle.
Entä jos otan toisen osoitteen esim. yyyy.yyyy.dy.fi ja osoitan sille saman ip:n. Tämän uuden osoitteen jos laitan tuohon linkkiin (ja muokkaan proxyn tälle), voisiko näin toimia?

Entä palomuuri, nyt auki 80 ja 99.

Kuten huomaat, aika perusasioiden äärellä olen....

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: ip kamera
« Vastaus #11 : 29.07.14 - klo:19.37 »
Kokeilin tuota toisen domainin käyttöä ja sillä tuntuu toimivan toivotusti.
Eli pääsen ulkoa verkkosivulle ja sieltä linkillä kameraan.

No tämä ajaa asiansa, mutta viritykseltä tuntuu. Jokaiselle ip kameralle oma domain,
onko näin?

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: ip kamera
« Vastaus #12 : 29.07.14 - klo:20.05 »
Voisit laittaa myös niin, että osoitteet ovat
Nettisivu: xyz.dy.fi
Kamera1: xyz.dy.fi/kamera1/
Kamera2. xyz.dy.fi/kamera2/
jne.

Ja sitten proxyt pitäisi määrittää jotenkin näin:
ReverseProxy ^/kamera1 http://kamera1nosoite:99/
ReverseProxy ^/kamera2 http://kamera2nosoite:99/
jne.
Ja nyt kamera1:n jutut löytyvät osoitteella: http://xyz.dy.fi/kamera1/ ja toinen kamera sitten vastaavasti. Mielestäni ei ole mitään syytä miksi olisi pakko käyttää erillisiä domaineja.

Myöskään useampia portteja ei tarvitse pitää auki, koska nythän tuo proxy "siirtää" niiden liikenteen portista 99 porttiin 80 (HTTP). Ja sitä ei siis määritellä sinne nettisivulle silloin.

Tämän voisi toki tehdä niinkin, että laittaisi porttiohjaukset niin, että kameroille menisi niiden omat portit (esim. tuo 99 ja siitä ylöspäin), jolloin voisi määritellä osoitteen käyttämällä sitä nettisivun osoitetta ja porttia eli esim. http://xyz.dy.fi:99/ .
« Viimeksi muokattu: 29.07.14 - klo:20.09 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

harras

  • Käyttäjä
  • Viestejä: 66
    • Profiili
Vs: [RATKAISTU] ip kamera
« Vastaus #13 : 30.07.14 - klo:18.01 »
Heti en noilla ohjeillasi saanut toimimaan, mutta homma pelaa toisen domainin avulla toivotusti.

Täytyy vielä tutkia tuota Hiawathan conffia ajan kanssa, eiköhän se sieltä ratkea.
Suurkiitos opastuksesta!