
Jak poslat požadavek na localhost?
Ahoj.
Nainstaloval jsem si do W10 WSL s distribucí Debian.
Nainstaloval jsem Apache2 + vše potřebné.
V souboru C:\Windows\system32\drivers\etc\hosts jsem zatím nic nenastavoval.
Do prohlížeče jsem zadal http://localhost a z Debianu se načetl správně podle výchozí konfigurace soubor z /var/www/html/index.html
Otázka ale zní,
pokud tohle funguje a já přidám do souboru C:\Windows\system32\drivers\etc\hosts
localhost test1
localhost test2
localhost test3
a následné zadám do prohlížeče http://test1 nebo http://test2 atd..
dostanu chybu
Tento web není dostupný
Web test1 odmítl připojení.
Zkuste:
Zkontrolovat připojení
Zkontrolovat proxy server a firewall
ERR_CONNECTION_REFUSED
Nějaké smysluplné nápady? Předem díky.
PS: pokud zadám do prohlížeče http://127.0.0.1, dostanu stejnou chybu :(
Ten Debian pod oknami ma nejaku vlastnu ip?
Lebo ak ano tak to samozrejme potom nie je localhost.
IMHO subsystem pouziva stejnou IP jak hostovaci PC (windows), jedine ze by ji v tom wsl zmenil na jinou, statickou, pouzit rails.
http://127.0.0.1, je to samé jako localhost, kdyz vola localhost, vola local host Windows.
Žádnou IP adresu jsem neměnil, ani v Debianu ani v routeru.
http://127.0.0.1 a http://localhost jsou dvě rozdílné věci (tedy v tomto případě), http://127.0.0.1 nefunguje a http://localhost funguje.
Kdyz ti to funguje tak kde je problem ?
V ruteru nic nastavovat nemusis.
Jestli volas 127.*.* z Windows, volas ho z Windows (nebere na wls ohled), jestli chces pouzit ten z wls Debianu, musis ho volat z Debianu. Staci se podivat na "ifconfig" nebo "ip -a" a uvidis sam.
Problém je tady
localhost test1
localhost test2
localhost test3
toto je nesprávne, jednak tam nemôže byť názov ale adresa, a druhak ten apache máš možno nabindovaný len na ipv6
do hosts daj toto
::1 test1
::1 test2
::1 test3
Tento zápis hází jinou chybu
Tento web není dostupný
IP adresa serveru test1 nebyla nalezena.
Zkuste spustit Diagnostiku sítě systému Windows.
DNS_PROBE_FINISHED_NXDOMAIN
Můžu to nějak ověřit?
Najprv si over na windowse, kde sa ti preklada localhost. Co vidis ak pingnes localhost?
Ak ti fungoval localhost (a ten je ::1) tak musia fungovať aj tieto testy.
Potom je to už asi len otázka konfigurácie Apaču, na ktoré domény počúva, prezri si httpd.confg. Ale defaultne by mal počúvať na všetky domény, myslím si.
len tak ilustračne https://stackoverflow.com/questions/10981174/apache-virtualhost-and-localhost
Kdyby to nebyl localhost, tak by http://localhost nenačítalo správný soubor.
A c o priamo v Deboane. pocuva Apache na 80 porte? Tam, ked sa napojis na locahost ide ti to?
Do Apache se vůbec žádný požadavek nedostane, mimo http://localhost (zadáváno z Windows)
Aha to som si nevsimol, ze locahost ti ide.
Pridaj ho hosts 127.0.0.1 localhost.
Win localhost dava automaticky do ipv6.
No a co se přidáním toho zápisu
127.0.0.1 localhost
změní?
Ak som uz pisal Win si automaticky priradi locahost na IPv6, co zistis ak si pingnes localhost z win masiny.
Je potom logicke, ze ti localhost nefunguje, lebo tvoj Apache pravdepodobne na IPv6 nepocuva.
Pingni localhost a uvidis.
vs
PS C:\Dev>ping localhost
PS C:\Dev> ping 127.0.0.1
Vidis sam, ze loclahost ti odpoveda v IPv6.
A co z toho tedy plyne? Že WSL neposlouchá na IPv4?
Niekto ti stoji na kabli? Ved ti uz 3x vysvetlujem, ze z toho vypliva, ze win preklada localhost cez IPv6 a ak ti na debiliane nebezi podpora IPv6 tak je jasne preco tam dostavas time out. Jednoducho tu poziadavku na 80 port win nepreda debilianu, ale necha si ju pre seba.
Nechapem preco sa mucis nejakym nedorobkom zo strany MS a nespravis si normalnu virtualnu machinu cez VB napriklad.
já vážně nevím, ty pořád o voze a já o koze
WSL mi tak nějak doposud stačilo
Tak este raz...povodna otazka bola preco ti request na Apacha funguje na 127.0.0.1, ale nie na localhost.
Odpoved je jednoducha. 127.0.0.1 je IPv4 protokol, a preto ti Apache odpovie.
Kedze Debiliana si si nenakonfiguroval na IPv6, Apache ti cez tento protokol neodpovie a kedze Win defaultne smeruje poziadavky z locahostu cez IPv6 je logicke, ze od Apacha nedostanes ziadnu odpoved.
Riesenie je bud nakonfigurovat cely debilian aj s apachom na IPv6 alebo spravit zapist v oknach do hosts a vysvetlit im, ze localhost maju prekladat cez IPv4 na 127.0.0.1.
V oboch pripadoch ti uz Apache odpovie spravne.
Ne, otázka zněla opačně
Aha tak potom neviem citat....a si isty, ze otazka neznela tak ako som si myslel ja;o)?
Tohle jsem napsal přece v dotazu:
A taky jsem tam psal, že http://127.0.0.1 skončí chybou.
či?
Ty asi nepoznas pisane emotikony, ze?
Takto to je lepsie?
Aha tak potom neviem citat....a si isty, ze otazka neznela tak ako som si myslel ja;o)?




Protoze localhost nepouziva TCP/IP.
Co?
To byla odpoved na ""http://127.0.0.1 nefunguje a http://localhost funguje"". Proto nemas stejny vysledek.
Chápu ale nechápu tu pointu, co to má společného s nastavení souboru hosts?
hosts je náhrada DNS serveru, ktorý zrejme nemáš na domácej sieti. localhost je názov ako každý iný, napríklad google. Na to aby počítač vedel čo je to 'localhost' je potrebné mu to uviesť v špeciálnom na tento účel vyhradenom súbore, t.j. hosts. Ak to nefuneguje, je potrebné zistiť či program počúva na očakávanom porte. Čo keď počúva na inom? napríklad 8080 a ty to skúšaš furt na 80 a čuduješ sa, že to nejde a nejde.
Nefunguje ani tento zápis IP adresy (namiesto localhost) v hosts ?
127.0.0.1 test1
mám spustený Apache na Win a mne to funguje...
Ne, tento zápis taky nefunguje, co znamená mám spustený Apache na Win? Že ti běží ve Win přímo služba Apache... ?
Tak příčina nalezena, nechápu jak je to možné
PS C:\Dev>wsl -l -v
Nějak nechápu, co je na tom špatně.
WSL 2 je úplně něco jiného než původní WSL. WSL 2 běží celá virtuálně na Linuxovém jádře, ne jako původní verze, a nějaké zápisy
localhost test1
127.0.0.1 test2
::1 test3
nemůžou fungovat, musí se nasměrovat na konkrétní IP toho běžícího WSL2 nebo nasměrovat localhost porty přímo na tu IP-WSL2. Možností je samo víc.
IP-WSL2 test1
IP-WSL2 test2
IP-WSL2 test3
u WSL 1 to fungovalo - chovalo se to přesně jako "localhost"
Mně to teda funguje. A ani nevidím důvod, proč by to nemělo fungovat.
A co přesně ti funguje?
Zapíšu do hosts:
::1 test1
V prohlížeči se připojím na http://test1
Otevře se mi stránka z Apache běžícím ve WSL2.
Zapsal jsi do hosts
::1 test1
a dál?
Můžeš to sem pastnout ?
A co dál? To je vše.
Jasně
Můžeš sem dát ten výstup z ip addr?
Jasně že nemůžeš, když nás taháš za nos..
A proč bych to jako dělal?
Nedělej to, houpej nás klidně dál....
Tož to teda jo

Bavíš se?
Ani ne. Něco k věci by nebylo?
To že si semnou vytíráš p*del celkem k věci je, ale to je jedno.
Já už jsem velký kluk, určitě se s tím srovnám. 
Když nad tím tak přemýšlím, tak třeba ani nelžeš, jelikož za odpovědí
A co dál? To je vše. si každý může představit cokoli možná i cokoliv.
Pokud nechceš poradit, nechej si to pro sebe.
Ptal ses:
Na to jsem odpověděl:
Ve smyslu, že jsem nic dalšího neudělal a stejně to fungovalo.
Že jsi chtěl výpis toho příkladu, jsem si všiml až později. Tak jsem ho i později dodal.
Jestli mi věříš nebo ne, je mi naprosto u prdele.
A tohle je ten kámen úrazu.
Schválně jsem vytáhl notebook s čistou instalací W10, nainstaloval WSL, udělal upgrade na WSL2, nainstaloval Debian, nainstaloval Apache2, spustil Apache2 do C:\Windows\system32\drivers\etc\hosts jsem vložil
a hle, naprosto stejná chyba.
Dostal jsi mě. Jdu přesvědčit svůj notebook, že dělá něco, co by neměl.
Ale podla vsetkeho mas debiliana uz pripraveneho na IPv6.
Predpokladam, ze ip -6 addr show ti ukaze jeho adresu.
To už není podstatné, jestli IPv4 nebo v6. Reagoval jsem na to, že když je to ve WSL2, tak musím zadávat IP adresu toho WSL2. Nemusím.
Nemusíš, psal jsem, že stačí nasměrovat porty na danou ip
No podstatne to je, pretoze ak si okna prekladaju localhost cez IPv6 tak pokial nemas Debiana nakonfigurovaneho na IPv6 nemalo by to logicky ist (aspon podla mojej logiky).
Ale ktovie, co s tym packetom robia okna v skutocnosti, pretoze tento ich pokus o vclenenie linuxu do jadra OS mi pride trosku podivny.
Kedysi tusim 7 Prof mali taky mod, ze virtual machine, kde si si rozbehal vlastne plnohodnotne XP 32b, nechapem preco nesli touto cestou a robia volake harakiri s linuxom.
No zjevne uz u Mrkvosoft dosel k poznani, ze (byt i spatna) podpora Linuxu je mnohem dulezitejsi nez (byt i dobra) podpora Mrvosoftich XPcek


No nic, debata na 5 stránek s nulovým výsledkem. Tímto bych to tedy uzavřel.
Díky aspoň za snahu pomoci, jdu to zkusit jinam.
Ty si toho tiež moc ne predviedol. Výpis z konfigu Apacha nikde, test 127.0.0.1 zo shellu nikde, výpis ipv6 z debiana nikde, výpis z netstatu nikde... .atd.
Potom to ťažko pomôcť, keď nedodas žiadne info.