有没有办法在循环设置中使用主机名访问特定服务器?

Bry*_*gee 8 domain-name-system firefox virtualhost apache-2.2

我有一个 Apache 网络服务器集群,使用循环进行原始负载平衡。有没有办法让 firefox 或 chrome 从特定 IP 请求服务器名称?

如果你只输入http://1.2.3.4,它不会得到 ServerName ,如果你输入http://servername,你可以得到任何服务器。

dmo*_*ati 11

您需要修改 HTTP Host 标头。

看:

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

我用 curl 做到这一点:

curl -H host:servername http://1.2.3.4
Run Code Online (Sandbox Code Playgroud)

您可能会发现以下插件很有用:

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/

https://addons.mozilla.org/en-US/firefox/addon/tamper-data/eula/33806


Edu*_*nec 10

我假设您的意思是 DNS 循环。在这种情况下,我能想到的基本方法是编辑您的 /etc/hosts 以指向您想在特定时刻尝试的任何后端:

1.2.3.4 servername
Run Code Online (Sandbox Code Playgroud)

之后您可能必须重新启动浏览器,以确保它没有使用缓存的 DNS 答案。

您还可以在您的 DNS 中添加其他条目,如 servername-001、-002 等,并将您的后端配置为接受这些名称作为您所针对的 VirtualHost 的 ServerAlias。当然,您也可以将 VirtualHost 设置为默认值,以便它使用 IP 工作并省略最后一步,假设您的应用程序不假定它以特定名称运行。

编辑:这可能很有用 - 它是一个 Firefox 扩展,可让您修改请求标头。可以说,您可以修改Host以直接指定 ServerName 来访问后端。不过我没试过。

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/