我应该使用 DNS 还是代理来解析服务器?

我应该使用 DNS 还是代理来解析服务器?

我们有一个自定义 Java Web 应用程序。我们正在不同的 VPS(不同的提供商、不同的位置)的实例中设置它。每个实例都是独立且自包含的。我们有几个此类实例的文档,并将继续添加它们。

例如:

Instance 1: http://server1/app1
Instance 2: http://server1/app2
Instance 3: http://server2/app3

目前,我们正在使用 myapp 的 DNS 中的 A 记录映射子域。然后服务器使用 apache 反向代理将其映射到应用程序。

client1.myapp.com  > server1 >> http://server1/app1
client2.myapp.com  > server1 >> http://server1/app2
client3.myapp.com  > server2 >> http://server2/app3
clientN.myapp.com  > servern >> http://anyserver/appN

使用反向代理服务器有什么区别或好处?

例如:

client1.myapp.com  > proxyserver >> http://server1/app1
client2.myapp.com  > proxyserver >> http://server1/app2
client3.myapp.com  > proxyserver >> http://server2/app3
clientN.myapp.com  > proxyserver >> http://anyserver/appN

使用代理而不是 DNS 记录是否存在任何性能问题?据我所知,所有请求都会转到代理服务器,而不是直接转到服务器

谢谢你的时间

答案1

我认为你搞混了(也许你读过一些你书中的答案之后)上一个问题)。

  1. DNS 将解析:

    client1.myapp.com10.10.10.10

    client2.myapp.com10.10.10.10

  2. App然后,反向代理将根据请求标头将您重定向到右侧:

    http://client1.myapp.com重定向至 http://client1.myapp.com/app1(事实上http://10.10.10.10/app1

    http://client2.myapp.com重定向至 http://client2.myapp.com/app2(事实上http://10.10.10.10/app2


DNS无法做到第 (2) 点

Reverse Proxy无法做到第 (1) 点

DNS 和反向代理的作用并不相同,这里两者都需要。

因此,对于服务器名称解析使用DNS,对于应用程序重定向使用Reverse Proxy

事实上,这正是你实际做的:)

相关内容