基本上,我正在尝试将我的服务器配置为“过滤点”。
如果我对我的服务器进行跟踪路由,可以说我会得到:
- 跳#1
- 跳#2
- 跳#3
- 后端(我的服务器 IP)
我想将自己的服务器放在后端之前,是否可以不联系数据中心或接触 BGP 或类似的东西?所以它会是这样的:
- 跳#1
- 跳#2
- 跳#3
- 我的服务器
- 后端
我基本上想在后端之前通过这台服务器路由我的所有流量。
基本上,我正在尝试将我的服务器配置为“过滤点”。
如果我对我的服务器进行跟踪路由,可以说我会得到:
我想将自己的服务器放在后端之前,是否可以不联系数据中心或接触 BGP 或类似的东西?所以它会是这样的:
我基本上想在后端之前通过这台服务器路由我的所有流量。
如果您不(或不能)在网络级别操作您的基础设施,您将无法更改跟踪路由的结果。
但是,您仍然可以使用代理软件设置一个配置,使发往目的地的流量通过中间服务器。
一个流行的例子是nginx。
例如,我在家里设置了一个代理服务器,它有助于为不同机器上的多个服务提供一个登录页面。从外部世界来看,所有流量都绑定到代理,并在代理之后根据 URL 模式匹配将流量转发到适当的服务器。
基本上,设置如下所示:
+---------+
| |
| Client |
| |
+---+-----+
|
v
+----------+
| |
| Internet |
| |
+---+------+
| +----------+
v | |
+-----> | Server A |
+-------+ | | |
| +-----> home.url/servicea + +----------+
| Proxy |
| +-----> home.url/serviceb + +----------+
+-------+ | | |
+-----> | Server B |
| |
+----------+
nginx 代理检查客户端提供的 URL,并根据匹配规则转发到正确的服务器。
配置的简单近似是:
server {
location /servera {
proxy_pass http://servera:80;
}
location /serverb {
proxy_pass http://serverb:80;
}
}