[Megoldva] Lokális webszerver az első alkalommal sokára szolgál ki

Van a /etc/hosts file-ban egy ilyen sor:

127.0.0.1 name1 name2 valami_barmi name3

Aztán van a /etc/httpd/conf.d/00_VirtualHost.conf file-ban egy ilyen bejegyzés:

<VirtualHost *:80>
    ServerAdmin root@localhost
    DocumentRoot /var/www/html/valami
    ServerName valami_barmi
    ErrorLog logs/valami-error_log
    CustomLog logs/valami-access_log common
</VirtualHost>

Aztán másodperceket kell várjak, mire feljön a weboldal. Valami timeout-ra vár szerintem, aztán ha azon túlvan, már megcsinálja, amit szeretnék.

Mi állhat a jelenség hátterében, mit nézzek meg, hogy azonnal reagáljon?

Közben eszembe jutott egy lehetséges megoldás. Előfordulhat az, hogy a böngészőbe írt valami_barmi előbb a 443-on (https) próbálkozik, majd timeout után jön a 80-as portról (http) történő lekérés? Ha nem akarok semmiféle titkosítást, elvégre localhost, hogyan beszélhetem rá arra, hogy ez menjen gyorsan? Pl. https-ről dobjon át http-re, vagy akármi, nem tudom, mi jöhet szóba.

Megoldás:

A névfeloldás sorrendje volt rossz, előbb fordult dns szerverhez, s csak akkor a hosts file-hoz, ha az előbbi nem sikerült.

Köszönöm mindenkinek, aki segített! :)
 

Hozzászólások

írd be a böngészőbe hogy http://valami_barmi

Gábriel Ákos

Elvileg triviális megoldás, ha az a baj, amit a végén írtam. :) Most nem tudom kipróbálni, mert egy olyan logot látok ezen a weboldalon egy műszer fejlesztése közben, amit ritkán látok, és nem értem az okát, szóval látni szeretném még. Tudom, csinálhatnék mentést róla, de az meg körülményes.

Azért vagyok picit bizonytalan abban, hogy ez az ok, mert a böngésző history-ból szoktam rákattintani, s nem tudom, hogy ez azért http:// most, mert már megtanulta, vagy ha bezárnám a böngészőt, újra elindítanám, akkor is így emlékezne, vagy akkor protokoll nélkül.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

curl --interface lo 'http://valami_barmi'

vagy csak siman

curl 'http://valami_barmi'

neked aztan fura humorod van...

Akkor szokott ilyen lenni, amikor a kliens reverse IP címét akarja lekérdezni logoláshoz. Ha ezt kikapcsolod, jó eséllyel gyorsabb lesz.

ChatGPT szerint:

Az Apache webszerver alapértelmezetten megpróbálhatja a kliensek IP-címeit reverse DNS (RDNS) lookup segítségével hostnevekre fordítani, ami néha teljesítményproblémákat okozhat. Ezt a viselkedést le lehet tiltani az alábbi beállítással:

  1. HostNameLookups direktíva használata: Az Apache konfigurációs fájljaiban (pl. httpd.conf vagy apache2.conf) található a HostNameLookups opció, amelynek az alapértelmezett értéke a régebbi Apache verziókban "On" lehet, de modern verziókban általában már "Off".

  2. Módosítás: A reverse DNS lekeresés letiltásához állítsd a HostNameLookups értékét "Off"-ra:

     HostNameLookups Off

    Ezt a direktívát globálisan alkalmazhatod, vagy akár virtuális hostokra vonatkozóan is. Általában a fő konfigurációs fájlban érdemes globálisan letiltani.

  3. Konfigurációs fájl helye: A konfigurációs fájlok elérhetősége függ a disztribúciótól:

    • Debian/Ubuntu: /etc/apache2/apache2.conf vagy /etc/apache2/sites-available/default
    • CentOS/RedHat: /etc/httpd/conf/httpd.conf vagy /etc/httpd/conf.d/
  4. Apache újraindítása: Miután szerkesztetted a konfigurációs fájlt, újra kell indítanod az Apache szolgáltatást, hogy a változtatások érvénybe lépjenek:

...

Itt még folytatta, de gondolom, ezeket tudod

Linux? Hogy néz ki a /etc/resolv.conf, a /etc/host.conf és a /etc/nsswitch.conf fájl?

Ezekben a fájlokban a névfeloldás sorrendiségét lehet beállítani:

 

Az /etc/host.conf -ban van egy
order hosts , bind 

Az /etc/nsswitch.conf -ban meg
hosts: files dns 
beállítás

de már előttem is kérdezte vki:
# curl http://akarmi.... 
is lassu?

# ping akarmi 
jól megyen?

s ha csak a localhost/localhost ip -t irod a böngészőbe akkor gyors?

Azt kéne elkülöníteni, hogy a OS névfeloldás lassítja, vagy a bőngésző (firefox? ) csinál valami nem vártat. 
Lehet, hogy a FF https over DNS be van kapcsolva, és önnálóan próbál névfeloldani?

Ez volt a megoldás, köszönöm. A host.conf-ban nem volt semmilyen előírás sorrendre, illetve az nsswitch.conf-ban a files a végén volt, így hamarabb próbálkozott dns-sel, ami nyilván nem sikerült neki. Most azonnal feljön a fejlesztés alatt álló műszert kezelő, általam kókányolt weboldal. :) Meg persze a curl is gyors.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Szerkesztve: 2024. 09. 12., cs – 16:55

---

Szerkesztve: 2024. 09. 13., p – 08:39

így látatlanban DNS név feloldás lesz a hiba.

Nem írtad, hogy windows-os gép böngészőjével próbálkozol ? vagy Desktop linux ?

Windows cmd: nslookup - mennyi idő alatt oldja fel ?

Apache loggolasban nincs veletlen nevfeloldas beallitva? Attol belassul.