在循环设置中是否可以使用主机名访问特定服务器?


8

我有一个使用轮循机制进行原始负载平衡的Apache Web服务器集群。有没有办法让Firefox或chrome从特定IP请​​求该服务器名称?

如果仅输入http://1.2.3.4,则不会获得ServerName;如果输入http:// servername,则可以获取任何服务器。


轮询是到后端服务器的粘性会话类型的连接吗?
djangofan 2011年

2
Dmourati和Eduardo的答案都是正确的。
嬉皮士

@djangofan:否-服务器设置完全与会话并行。如果一台服务器掉线,则任何其他服务器都可以恢复该事务。
布莱恩·艾吉

Answers:


10

我认为您是指DNS轮询。在那种情况下,我能想到的基本方法是只编辑/ etc / hosts以指向您想要在特定时刻尝试的任何后端:

1.2.3.4 servername

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

另外,您可以在DNS中添加其他条目,例如servername-001,-002等,并配置后端以将这些名称用作您想要的VirtualHost的ServerAlias。当然,您也可以将VirtualHost设置为默认值,以便它使用IP正常工作,并忽略最后一步,假设您的应用程序不假定其使用特定名称运行。

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

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


11

您需要修改HTTP Host标头。

看到:

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

我这样做是卷曲的:

curl -H host:servername http://1.2.3.4

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

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

https://addons.mozilla.org/zh-CN/firefox/addon/tamper-data/eula/33806


在看到您的文稿之前,我使用相同的URL编辑了我的帖子!希望你不要介意。为+1 curl
Eduardo Ivanec

@Eduardo,一点也不。我最近一直在解决这个确切的问题,并亲自使用curl方法。在Chrome前端找不到对OP有用的任何信息。
dmourati 2011年

卷发尖端绝对为+1。谢谢!
布莱恩·艾吉
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.