HTML5 websocket

Viestiketju alueella 'Internet, tietoturva ja muu tietoliikenne' , aloittaja robopoulos, 09.05.2019.

NOSTOJA MUROPAKETIN SISÄLLÖSTÄ
  1. robopoulos

    Rekisteröitynyt:
    04.09.2014
    Viestejä:
    12
    Lueskelen opusta otsikon aiheesta ja saan PHP:llä kirjoitetun websocketin toimimaan ja vastaamaan clientille localhostissa. Sama serveri ei kuitenkaan vastaa palveluntarjoajan serveriltä käsin. Näen lokifailista, että serveri on käynnistynyt portissa 443 jonka tiedän olevan auki webhotelissa, mutta yhteys clientiin ei onnistu. Yritän selvittää missä tökkii ja siksi kyselen olisiko jollakulla Apache osaajalla tietoa onko Apachessa mahdollisesti oletuksena asetuksia, jotka estävät HTML5 websocketin toiminnan? Koko websocket on tietysti täysin hyödytön jos sen kanssa voi leikkiä vain lockalhostissa.

    risto
     
  2. telcoM

    Rekisteröitynyt:
    27.08.2015
    Viestejä:
    691
    Apache vain ottaa vastaan HTTP/HTTPS-palvelupyyntöjä ja toimittaa paluupostissa vastauksia asiakkaille; se ei ota kantaa HTML5:een tai websocketteihin erityisesti.

    Jos websocket-serveriskriptisi käynnistyy ja yrittää mennä kuuntelulle portissa 443, se ei onnistu jos samassa IP-osoitteessa on jo Apache kuuntelemassa samaa porttia HTTPS:ää varten. Webbihotellissa näin todennäköisesti on. Lisäksi porttinumeroitten 1023 ja alle käyttö vaatii roottioikeuksia, joita webbihotellissa pyörivällä PHP-skriptillä tuskin on.

    (Jos on, tuo webbihotelli on todennäköisesti matopurkki hyvin pian, kun joku asiakkaista kuitenkin tekee jonkun PHP-tietoturvamokan. Jaa mistäkö tiedän? Töissä olen joskus joutunut siivoamaan tuollaisen tapauksen jälkiä...)

    Saattaisi olla parempi jos websocket-serverisi käynnistyessään antaisi käyttöjärjestelmän valita sille vapaan porttinumeron (oletettavasti 1024 tai korkeampi), ja saatuaan sen kertaisen porttinumeron selville tuottaisi dynaamisesti asiakkaalle sen HTML5-koodin osan joka käskee asiakasta kytkeytymään websockettiin tietyssä osoitteessa ja portissa.
     
  3. robopoulos

    Rekisteröitynyt:
    04.09.2014
    Viestejä:
    12
    Olet varmasti oikeassa, tosin jostain luin, joistakin mod aseutuksista. Näillä näkymin websocketia ei halvassa wehotellissa pysty sitten käyttämään, koska lisää avoimia portteja perusporttien 80, 21,22,25,... 443 lisäksi ei esim. Louhi suostu webhotelliin avamaan. Tarkoitus oli käyttää websocketia jatkuvan datavirran visualisoinnissa, mutta onnistuuhan se AJAXillakin.

    Kiitti vastauksestasi.
     
  4. telcoM

    Rekisteröitynyt:
    27.08.2015
    Viestejä:
    691
    Luitkohan tästä?
    https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html

    Tuo vaatii että Apachen proxy-moduulit ovat käytettävissä; jos webbihotellin ylläpito ei tätä tarjoa, sitä puutetta ei asiakas itse pysty paikkaamaan ilman roottioikeuksia.

    Sen jälkeen Apachelle pitää kertoa mistä websocket-serveri löytyy. Jos se on samalla koneella kuin webbiserveri itse, lopputuloksen pitäisi olla kai jotain tämän tapaista:
    Koodi:
    ProxyPass "/joku_URI/"  "ws://localhost:joku_portti/"
    
    Koska tuo pitää lyödä kiinni Apachen konfiguraatiossa, pitää websocket-serverin käyttää kiinteää porttinumeroa... ja se täytyisi jotenkin koordinoida webbihotellin muitten asiakkaitten kanssa että vain yksi asiakas käyttää yhtä websocket-porttinumeroa, tai muuten tulee sekasotku. Koska ProxyPassia ei voi käyttää .htaccess-tiedostossa, tuon käyttämisessä tarvittaisiin varmaan joka tapauksessa webbihotellin ylläpidon tukea tavalla tai toisella. (Toki se tuki voisi olla sellainen, että hallintapaneelissa rasti ruutuun -> automaatio pulauttaa käyttöön jonkin vakiomuotoisen websocket-konfiguraation ja kertoo mitä porttia websocket-serverin sopii käyttää.)

    Tällaisissa asioissa näkyy että Apachea alkaa pikkuisen ikä jo painaa: websockettien kanssa toimittaessa uudemmat webbiserverit kuten Nginx ovat huomattavasti joustavampia kuin wanha Apache, koska ne tekevät joitakin asioita eri tavalla ja mahdollistavat siksi websockettien helpomman käytön.
     
    Viimeksi muokattu: 13.05.2019
Tagit:

Jaa tämä sivu

Alibi
Anna
Deko
Dome
Erä
Hymy
Kaksplus
Kippari
Kotilääkäri
Kotiliesi
Koululainen
Ruoka.fi
Parnasso
Seura
Suomen Kuvalehti
TM Rakennusmaailma
Tekniikan Maailma
Vauhdin Maailma
Golfpiste
Vene
Nettiauto
Ampparit
Plaza
Muropaketti