在我正在阅读的一本书中,作者显示了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的地址?