这项服务的名称是什么?

这项服务的名称是什么?

假设两个公司网站服务器主机位于同一 LAN 上:

  • www.bluejeans.com LAN=192.168.1.2
  • www.greenjeans.com LAN=192.168.1.3

并在同一 WAN IP 地址后面。入站 WAN HTTP 请求(端口 80)需要处理接收请求,决定是将请求转发到 LAN 地址 192.168.1.2 还是 192.168.1.3。理想情况下,网关设备(路由器)能够将蓝色和绿色 URL 请求映射到正确的 LAN IP。

这项服务的名称是什么?

一旦我理解了服务类别的术语,我就可以评估特定的实例。我想在基于 UNIX 的路由器 (RT-AC68U Optware) 或 Raspberry Pi 上实现(测试)此功能。

答案1

这被称为“反向代理“。 两个都阿帕奇2nginx具有此功能,Varnish 也具有此功能。

就个人和专业而言,我使用 Apache2 作为反向代理。我尝试过 Varnish,但从未成功实施,但这当然并不意味着它不适合你。

要记住的事情

  • 您的真实内容网站通常需要知道它背后有加速器
  • 请使用 https 运行反向代理(例如,LetsEncrypt 有足够的自动化功能来生成和更新 SSL 证书)
  • 不要使用 https 运行真正的网站,但要确保它认为自己正在运行 https
  • 您不仅需要重写传入和传出 URL,还需要重写传出内容

答案2

当您通过输入 URL 在浏览器中向域名发出 HTTP 请求时,浏览器首先查找该域的 IP 地址,然后在端口 #80 上打开到该 IP 的连接并发送该请求(有很多变体)但举个例子就足够了):

测试网址:http://www.bluejeans.com/testurl

> GET /testurl HTTP/1.1
> User-Agent: curl/7.20.0 (i686-pc-linux-gnu) libcurl/7.20.0 OpenSSL/1.0.2t zlib/1.2.3 libidn/0.6.5
> Host: www.bluejeans.com
> Accept: */*

正如您所看到的,原始 URL 被拆分,您的目标域名现在包含在Host:标头中,剩余的 URL 路径是 的参数GET。这是到达网络服务器、反向代理、缓存或任何正在侦听特定 IP:端口的中间件的信息。

仅此信息就足以决定传入请求想要到达哪个网站,并且可以正确地进行处理代理编辑到真正服务请求的服务器(有时称为origin server)。

相关内容