🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.www.server-side
Article #61456

hostowanie kilku domen

#61456
From: marek.horodyski
Date: Sun, 21 Jul 2013 00:04
64 lines
3338 bytes
Taki jakiś problem mi wyszedł w obsłudze po stronie serwera www. Serwer pisany w Harbour - nie jakiś standardowy. Wykupiłem kilka domen. Dla każdej na dysku przeznaczyłem katalog i serwer sobie radzi, rozpoznając z nagłówka do jakiej domeny jest żądanie. 
Żądanie z przykładowej domeny zaczyna się :

GET / HTTP/1.1
Host: www.nazwadomeny.pl
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8


Ale jak jest wywołanie do serwera po ipv4, np. http://nnn.nnn.nnn.nnn/
czyli nie wiem do jakiej domeny, wymyśliłem, aby zamiast negocjacji zwrócić stronkę z domyślnymi domenami hostowanymi na serwerze wyznaczonymi z nazw katalogów serwowanego miejsca. Czyli coś takiego :

Żądanie :
GET / HTTP/1.1
Host: nn.nn.nn.n
Connection: keep-alive
Referer: http://nn.nn.nn.n/
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10
Accept-Encoding: gzip,deflate
Accept-Language: pl-PL, en-US
...

i zwracam :

HTTP/1.1 200 OK
X-Powered-By: Harbour 3.2.0dev (r1304301343)/MinGW GNU C 4.6.1 (32-bit)
Cache-Control: no-cache
Server: homar.exe
Content-Type: text/html
Connection: Keep-Alive
Keep-Alive: timeout=15
Date: Sun, 21 Jul 2013 00:41:37 GMT
Content-Length: nnn_wyliczone

<html>
<body>
<a href="www.domena_1.pl">www.domena_1.pl ?</a><br>
<a href="www.domana_2.pl">www.domena_2.pl ?</a><br>
<a href="www.domena_3.pl">www.domena_3.pl ?</a><br>
<a href="www.domena_n.pl">www.domena_n.pl ?</a><br>
</body>
</html>

Ale jak kliknę w taki link, to do serwera przychodzi żądanie jakoś tak ukształtowane :

GET /www.domena_2.pl HTTP/1.1
Host: nn.nn.nn.n
Connection: keep-alive
Referer: http://nn.nn.nn.n/
...

a spodziewałem się :

GET / HTTP/1.1
Host: www.domena_2.pl
Connection: keep-alive
Referer: http://nn.nn.nn.n/
...

i teraz nie wiem, czy jest za późna noc i coś skopałem, czy pomysł musi być jakoś inaczej zrobiony. Co tu jest nie tak ?

Pozdrawiam,
Marek Horodyski
Technical Details
Message-ID: <8f5653bc-ec16-4b14-b0db-fac0cc01479c@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!u2no218814qao.0!news-out.google.com!dk8ni860qab.0!nntp.google.com!f1no239784qae.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.224.36.15 with SMTP id r15mr30301940qad.8.1374365074125;        Sat, 20 Jul 2013 17:04:34 -0700 (PDT)
X-Received: by 10.49.122.2 with SMTP id lo2mr47537qeb.14.1374365074109; Sat, 20 Jul 2013 17:04:34 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!u2no218814qao.0!news-out.google.com!dk8ni860qab.0!nntp.google.com!f1no239784qae.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.www.server-side
Date: Sat, 20 Jul 2013 17:04:34 -0700 (PDT)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.77.33.3; posting-account=g0Ps8woAAAC_8HHKWHW9X9RXuJTnwqnC
NNTP-Posting-Host: 89.77.33.3
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8f5653bc-ec16-4b14-b0db-fac0cc01479c@googlegroups.com>
Subject: hostowanie kilku domen
From: marek.horodyski@gmail.com
Injection-Date: Sun, 21 Jul 2013 00:04:34 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit