Elektronika.lt
 2024 m. lapkričio 30 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 - Elektronika namams
 - Buitinė technika
 - Elektronika, technika
 - Biuro technika
 - Fotoaparatai, kameros
 - Kompiuteriai, dalys
 - Kompiuterių periferija
 - Programinė įranga
 - Telefonai, priedai
 - Ryšių sprendimai
 - Navigacijos sprendimai
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Lapkričio 30 d. 15:24
Atliekose baterijų daugėja, o aiškumo, kaip ir kas jas turi tvarkyti – ne
Lapkričio 30 d. 11:38
Trys patarimai, kaip per išpardavimus, didžiąsias šventes apsisaugoti nuo finansinių sukčių
Lapkričio 29 d. 17:47
KTU mokslininkai sukūrė dirbtinio intelekto įrankį depresijos diagnostikai
Lapkričio 29 d. 14:22
Išmanieji telefonai: kaip išsirinkti telefoną, turintį kokybišką ekraną?
Lapkričio 29 d. 11:19
Pajėgiausio prabangaus elektrinio visureigio belaukiant: „Range Rover Electric“ prototipai testuojami ypač karštame ore
Lapkričio 29 d. 08:27
Dirbtinis intelektas kūryboje: partneris ar konkurentas?
Lapkričio 28 d. 20:29
Finansiniai sukčiai metų pabaigoje itin aktyvūs: pateikė patarimus, kaip atpažinti apgaules ir neprarasti pinigų
Lapkričio 28 d. 17:23
Autorių teisių pokyčiai: kas turėtų gauti atlygį už dirbtinio intelekto sugeneruotą paveikslėlį? (1)
Lapkričio 28 d. 14:39
Nuo triukšmo gelbėjatės ausinukais? Vaistininkė – apie tinkamą jų naudojimą
Lapkričio 28 d. 11:23
Nuo idėjos iki grąžos: ko reikia, kad DI sprendimai atsipirktų?
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
Reklama
 Produktų apžvalgos » IT sprendimai, programinė įranga Dalintis | Spausdinti

„Hiawatha“ išsiskiria švara, patvarumu ir žmoniškumu

Publikuota: 2016-12-14 07:31
Tematika: IT sprendimai, programinė įranga
Autorius: el. paštas Vladas Palubinskas
Aut. teisės: ©Lietuva internete
Inf. šaltinis: Lietuva internete (ISSN 1392-9127)

Esu dažnai klausinėjamas, vis tenka teisintis, tai bent glaustai surašysiu, kodėl visų pripažintą HTTP serverį „Apache“ pakeičiau mažiau žinomu „NginX“, bet ir šį išbandęs pašalinau, o jų vietoje įdiegiau ir jau tvirtai pasiryžau kliautis „Hiawatha“ – niekam negirdėta, nė specialistams nežinoma, tikriausiai pirmąja Lietuvoje.

 Rodyti komentarus (0)
Įvertinimas:  1 2 3 4 5 

Esu dažnai klausinėjamas, vis tenka teisintis, tai bent glaustai surašysiu, kodėl visų pripažintą HTTP serverį „Apache“ pakeičiau mažiau žinomu „NginX“, bet ir šį išbandęs pašalinau, o jų vietoje įdiegiau ir jau tvirtai pasiryžau kliautis „Hiawatha“ – niekam negirdėta, nė specialistams nežinoma, tikriausiai pirmąja Lietuvoje.

„Apačiui“ apibūdinti neverta plėtotis – tai nesaugus griozdas, eikvojantis techninius išteklius, pirmiausia kompiuterio „atmintį“ (RAM), o dūstantis jau nuo nedidelės darbo apkrovos. Imantis rimtesnių darbų, tenka su „Apačiumi“ įkinkyti ir visokių stiprintuvų, antai „Vikimedijos“ fondas įdarbinęs „Apache Traffic Server“ su „Web Accelerator“ ir kitais ėdriais traukliais. Save gerbiančiam meistrui kliautis „Apačiumi“ turėtų būti tiesiog gėda. Bet jis tebėra plačiausiai naudojamas, nes nuo seno visiems žinomas, pritaikytas dirbti įprastai.

Išsibandant „NginX“, man pirmiausia užkliuvo ribotas SSI veikimas, neištraukiant nė aplinkos duomenų paprasta <!--# printenv --> užklausa. CGI ten visai neveikia (tiesa, veiktų SCGI arba WSGI). Patyrinėjęs rinką, nustebau, kad „NginX“ ir galingumas yra luošas – štai kaip Kriso Vadžio (Chris Wadge) išbandymo „Slowloris“ antpuoliu metu šlubavo „NginX“, o „Apache“ užduso visai:

„Hiawatha“ išsiskiria švara, patvarumu ir žmoniškumu
„Hiawatha“ išsiskiria švara, patvarumu ir žmoniškumu
„Hiawatha“ išsiskiria švara, patvarumu ir žmoniškumu
„Apache“, „Cherokee“, OLS, „G-Wan“, Hiawatha, „Lighty“, „NginX“ patvarumo palyginimas.

Kriso liudijimu, šimtą tūkstančių HTTP užklausų vienu metu (daugiau jam nepavyko pasiekti) „Hiawatha“ aptarnauja nesunkiai, dar nejausdama serveriams būdingo C10K nusilpimo.

Rimo Kudelio dėka „NginX“ įdiegiau ir išsibandžiau sėkmingai, tačiau slėgė nepasitikėjimas tiek programa, tiek ir savo supratimu – nors programos kodas atviras, bet naudojimosi aprašymai pakriki, neišsamūs. Ir derinimo įrašai nežmoniški – ne visiems suprantamais kalbos žodžiais, o programišių burtažodžiais. Palyginkite tapačios užduoties įrašus „Apačiui“ ir „Hiawathai“ („NginX“ sintaksė maždaug tarpinė, tad ją praleidau):

„Apache“ „Hiawatha“
Perjungti ryšį šifruotu (http → https)
RewriteEngine On RequireTLS
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Sutrumpinti URL, nerodant www
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] EnforceFirstHostname
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Programinės sintaksės painiava nėra opi įmonėms, samdančioms etatinį serverių tvarkybos specialistą, bet aš noriu susigaudyti ir pats – būti tikras tuo, ką darau. Nemėgstu, kai kas nors daroma sudėtingai ten, kur galima paprastai. Juolab, kad pernelyg protingais įrašais pirmiausia pergudrausi save – sunku bus iškart pastebėti ir paties netyčia įveltą klaidą.

„Hiawatha“ kūrėjas Ugas Leisinkas (Hugo Leisink) gal kuklinasi, sakydamas „pirmiausia – saugumas“ (security first). Nes toks atidumas rodo skaidrų jo samprotavimą, lemia ir kitus, serveriui ne mažiau svarbius dalykus: 2) švarą, 3) patvarumą, 4) pajėgumą, 5) spartą, 6) lengvumą, 7) aiškumą žmoniškai serverio priežiūrai.

Modernumas man čia kažkaip liko tik aštuntoje vietoje, bet ne dėl „Hiawathos“ atsilikimo – serveris veikia pažangiomis HTTPS technologijomis atvirais standartais:

  • HTTP digest authentication, ChallengeClient, FileHashes, MultiThreading, ThreadPool, TrafficShaping, WebFirewall;
  • IPv6 (išplėstai interneto adresų aibei), SNI (interneto valdų vardams), XSLT (XML medžiagai doroti);
  • FastCGI su PHP-FPM, CGI su CGI-wrapper, SSI su SSI-CGI – programinės sąsajos;
  • „mbedTLS“ 2.3.0 šifruoti paskirai, su DST liudijimais – automatiškai ir nemokamai;
  • WebDAV su „ownCloud“, „Nextcloud“ palaikymu;
  • folder alias ir script alias su chroot, enforce, require;
  • „URL Toolkit“ – regex taisyklėms su request, header, match, goto, return, redirect, rewrite, use;
  • laipsniškumas (scalable) – paskirai suderinamos nuostatos 1) default website, 2) binding interfaces (port, LAN, IP), 3) virtual hosts, 4) directory settings, 5) .hiawatha files aprašais;
  • jungimosi taisyklės (count, time, size, regex) su savais šaukiniais ir draudimais (custom variables, banning settings);
  • antpuolių atpažinimas ir sustabdymas: DDoS, CSRF, XSS attacks, SQL injections, exploit attempts, control of external image linking, Throttle some file upload speed;
  • kitos pajėgumo ir HA patvarumo priemonės: „gzip“ „HTTP compression“, „internal cache“, „reverse proxy“, „load balancing“;
  • kiti, nebūtini priedai: „Tomahawk“, „Wigwam“, „Hiawatha Monitor“ (atskiras stebėsenos serveris, gali būti nuotolinis), „Banshee“ (WWW leidybos staklės);
  • 5 paskiri darbo žurnalai: access.log, error.log, exploit.log, garbage.log, system.log.

Nemažai „Hiawatha“ savybių unikalios, kurių neturi jokie kiti HTTP serveriai. Daugiausia tokių gabumų skirta apsisaugoti nuo nenaudėlių, tačiau netrukdant kitiems lankytojams. Autorius jas sumanęs ir sukūręs pats, iš pradžių išsibandyti, o įdiegęs tik po metų kitų, naudingumui pasitvirtinus gyvenime. Susirašiau tokią savą galinčių praversti nustatymų ir jų pradinių reikšmių atmintinę.

Ribojimai ( = default)
#AccessList = allow all allow 192.168.0.1, deny all
#BindingId = kai sąsajų ne viena
#Interface = 127.0.0.1 sąsajai (binding section)
#RequiredBinding = virtualiam serveriui
#RequireTLS = yes,31536000 sąsajai (binding)
CacheSize = 10 MB, iki 1024
CacheMaxFilesize = 256 KB
CacheRProxyExtensions = css, eot, gif, html, htm, ico, jpg, js, otf, png, svg, swf, txt, woff
ConnectionsTotal = 1000
ConnectionsPerIP = 25
MaxRequestSize = 2048 KB sąsajai (in binding section)
MaxKeepAlive = 50 sąsajai (in binding section)
#MaxServerLoad = 1 pvz. 0.7 – iki 70%
MaxUploadSize = 1 MB, iki 2047 (binding)
MaxUrlLength = 1000 0 neribotų, o viršijus – 414 HTTP error code
#MinTLSversion = 1.1 dabar gal daugiau
RandomHeader = 512
SocketSendTimeout = 30
TimeForRequest = 5, 30 pirmajam, sekantiems kreipiniams (binding)
ThreadPoolSize = 25 128, gijų skaičius jų pluošte
ThreadKillRate = 1 8
TimeForCGI = 5 iki penkių sekundžių
Slėpimai (arba apgaulė)
EnablePathInfo = no
#CustomHeader =
#RandomHeader = nuo 10 iki 1000
ServerString = Hiawatha pavyzdžiui: Apache
ShowIndex = no nerodo aplanko turinio
AnonymizeIP = no yes – neįrašytų lankytojų adresų į access.log
#LogfileMask = deny 10.0.0.0/24, deny ManoIPv4
#RequestLimitMask = deny PatikimasIP_1, deny SavasIP_2
Draudimai
ExecuteCGI = no virtualiam serveriui arba aplankui
#BanOnDeniedBody = 0 tik kai nustatytas DenyBody = ‘regex’
BanOnFlooding = -/-:0 10/1:15
BanOnGarbage = 0 300
BanOnInvalidURL = 0
BanOnMaxPerIP = 0 60
BanOnMaxReqSize = 0 300
BanOnSQLi = 0
BanOnTimeout = 0
BanOnWrongPassword = 6:900
KickOnBan = no yes
RebanDuringBan = no yes
PreventCSRF = no no, detect, prevent, block
PreventSQLi = no block tik laikinai, kol susitaisysi savo luošą SQL
PreventXSS = yes
KillTimedoutCGI = yes viršijus TimeForCGI = 10
#DenyBody = (regex)
#BanlistMask = allow 192.168.1.2, deny 192.168.0.0/16
Savų šaukinių pavyzdžiai (own variables)
set Vietiniai = 127.0.0.0/8
set ManoIPv4 = 95.173.32.149
set PatikimasIP_1 =
set SavasIP_2 =
CustomHeader = X-Frame-Options: DENY
ReverseProxy .* http://10.20.20.18:80 30 keep-alive
ReverseProxy .* https://10.20.20.18:443 30 keep-alive
#LoginMessage = scanner.robotas.tld
#PasswordFile = digest:/srv/www/digest/scanner.digest

Rimas sukūrė ir įdiegė patogų ir vaizdų serverio valdymo „Webmin“ skydelį, jo atvirą kodą paskelbė „Git“ registre ir pranešė serverio autoriui – Ugas įvertino, padėkojo Rimui, išplatino gerą naujieną savo sekėjams.

„Hiawatha“ išsiskiria švara, patvarumu ir žmoniškumu
„Hiawatha“ išsiskiria švara, patvarumu ir žmoniškumu
Rimo Kudelio sukurtas „Webmin“ skydelis „Hiawatha“ serveriui

Juokingai dabar atrodo serverių tvarkytojų atsikalbinėjimai, neva „Apačius“ labiausiai ištobulintas ir patikimiausias, o „Hiawatha“ mat nepatikima, nes… sukurta vieno žmogaus. Tarsi pasitikėti būtų galima bendra atsakomybe, kai kompetentingų pareigūnų daugybė, bet prireikus nėra su kuo šnekėti – neseka rasti, kas išmanytų atsakyti tau kilusio klausimo.

Priešingai, svarbiausi išradimai sumanyti pavienių asmenų, daugumai jais netikint tol, kol įgyvendinus netampa įprasti ir pripažinti daugumos. Kaip gali pradingti ar tapti bevertis tvarinys net autoriui pasimirus, jei jo programinis kodas atviras? Juolab, kai tas kodas tesveria mažą megabaito dalį. Tęstinumą ir perimamumą lemia šios svarbios sąlygos:

  1. pasiekiamas, suprantamas ir atviras kodas (GPL licencija);
  2. kruopštus dokumentavimas: išsamus savybių aprašas (specification), vadovėlis (manual), pamokos (how to), būdingų klausimų išaiškinimai (FAQ);
  3. pristatymas enciklopedijoje, palyginimas, pokyčių tikslinimas laiku;
  4. dalijimasis patyrimu ir naujovėmis, jų aptarinėjimas: „Weblog“, „Twitter“, „Forum“, „Email“;
  5. pagalba asmeniškai, tiesiogiai autoriaus pašto adresu hugo@leisink.net.

Ugo patikimumu jau esu įsitikinęs: kiek kartų besikreipiau iškilusiu klausimu, autorius atsakė visada, visada netrukus, visada atidžiai ir dalykiškai, dažniausiai asmeniniu paštu.

Nematau pagrindo nepasikliauti ir kūrinio bei jo autoriaus gerbėjų, serverių meistrų bendruomene, atsiliepiančia apie „Hiawathą“ pačiais aukščiausiais įvertinimais: www.hiawatha-webserver.org/about.


„Lietuva internete“



Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama