在我正在閱讀的一本書中,作者顯示了HTTP標頭的含義。也就是說他說有多臺服務器託管多個網站。多個站點共享一個IP地址:我無法使用Host標頭訪問特殊站點
讓我們做到這一點:
ping fideloper.com
我們可以看到IP地址:198.211.113.202。
現在讓我們僅使用IP地址:
curl -I 198.211.113.202
我們趕上:
$ curl -I 198.211.113.202
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 03 Aug 2017 14:48:33 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://book.serversforhackers.com/
讓我們接下來看,當我們一個主機頭添加到HTTP請求會發生什麼:
$ curl -I -H "Host: fideloper.com" 198.211.113.202
HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: max-age=86400, public
Date: Thu, 03 Aug 2017 13:23:58 GMT
Last-Modified: Fri, 30 Dec 2016 22:32:12 GMT
X-Frame-Options: SAMEORIGIN
Set-Cookie: laravel_session=eyJpdiI6IjhVQlk2UWcyRExsaDllVEpJOERaT3dcL2d2aE9mMHV4eUduSjFkQTRKU0R3PSIsInZhbHVlIjoiMmcwVUpNSjFETWs1amJaNzhGZXVGZjFPZ3hINUZ1eHNsR0dBV1FvdE9mQ1RFak5IVXBKUEs2aEZzaEhpRHRodE1LcGhFbFI3OTR3NzQxZG9YUlN5WlE9PSIsIm1hYyI6ImRhNTVlZjM5MDYyYjUxMTY0MjBkZjZkYTQ1ZTQ1YmNlNjU3ODYzNGNjZTBjZWUyZWMyMjEzYjZhOWY1MWYyMDUifQ%3D%3D; expires=Thu, 03-Aug-2017 15:23:58 GMT; Max-Age=7200; path=/; httponly
X-Fastcgi-Cache: HIT
這意味着serversforhackers.com是默認站點。
於是筆者說,我們可以要求黑客服務器在同一臺服務器上:
$ curl -I -H "Host: serversforhackers.com」 198.211.113.202
在這裏,在這本書HTTP /接收1.1 200 OK。
但我receve這樣的:
curl -I -H "Host: serversforhackers.com" 198.211.113.202
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 03 Aug 2017 14:55:14 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://book.serversforhackers.com/
那麼,筆者組織了301重定向,現在使用HTTPS。
我可以這樣做:
curl -I https://serversforhackers.com
但這並不說明什麼默認網站的整體思路,以及如何主機頭可以解決在共享IP地址的特殊部位。
是否仍有可能通過IP地址獲得200 Ok的地址?