我需要在rails应用程序中设置一些服务器特定的变量,这些变量将至少在两个不同的服务器上运行。获取请求的HTTP_HOST值以获知当前服务器的最佳方法是什么,并相应地设置这些变量? 我正在使用Apache 2和Passenger。
答案 0 :(得分:10)
认为你正在寻找request.env["SERVER_ADDR"]
。
答案 1 :(得分:0)
2台服务器是否涉及负载均衡?如果是这样,您将不希望从请求中获取主机,因为在两种情况下它都是相同的。你会想要在一些通用的红宝石电话中抓住它。我做Ruby之前已经有一段时间了,但可能就像(未经测试的 - 粗略的想法):
Resolv::Hosts.getNames(Resolv::Hosts.getAddress('localhost'))