我阅读了有关端口转发的信息,并且可以理解它使 Internet 能够向您的专用网络发送请求并访问在您的专用地址中的其中一台计算机上运行的某些服务。
但我怀疑如果假设我有 2 台计算机在端口 80 上托管 Web 服务器会发生什么。在这种情况下,路由器如何知道要发送请求的计算机。我知道如果只有 1 台计算机,那么路由器会知道,但怀疑是 2 台。
一种情况可能是我的专用网络上有 2 台计算机,每台计算机都托管一个不同的网站。现在我希望我的两台服务器都在端口 80 上运行,这样用户就不需要输入端口号(或者可能是因为某些原因我希望两台 Web 服务器都具有相同的端口号)。现在会发生什么?
我尝试了以下命令openssl s_client -connect google.com:443,并能够通过 SSL 与 google.com 连接。
但是当我尝试使用一些资源时,GET /?q=cats HTTP/1.1 <enter> Host google.com <enter><enter>我收到以下消息:
HTTP/1.1 400 Bad Request
Date: Wed, 19 Aug 2015 21:12:02 GMT
Server: Apache
Content-Length: 307
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Request header field is missing ':' separator.<br />
<pre>
Host google.com</pre>
</p>
</body></html>
closed
Run Code Online (Sandbox Code Playgroud)
如果我没有指定任何 HTTP …