2011-12-30 140 views
0

我们目前使用Nginx服务器进行负载均衡。我们希望将我们的办公室IP重定向到特定的服务器,其中所有其他流量通常都是负载平衡的。基于IP的Nginx负载均衡

这可能吗?

+0

在serverfault.com最好问 – rene 2011-12-31 14:18:54

回答

0

你可以用任何web服务器(Apache,Tomcat,nginx等)做一个简单的重定向。 例如,在Java中,你可以创建一个简单的index.jsp有以下几点:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Your Company</title> 
    <link rel="icon" type="image/png" href="http://www.yourloadbalance.com/favicon.png"> 
</head> 
<body> 
<% 
response.sendRedirect("www.yourloadbalance.com"); 
%> 
</body> 
</html> 

这段代码会重定向每一个请求给定的URL,你的情况给负载均衡器。

0

这不是一个工作的配置,但我希望的主要思想是明确的

map $remote_addr $backend { 
    default app-servers; 
    192.168.1.1 dev-servers; # office IP 
} 

upstream app-servers { # this is normal upstreams group 
    server ...; 
    server ...; 
} 

upstream dev-servers { # this is upstream(s) for Office IP 
    server ...; 
} 

server { 
    listen 80; 
    server_name bar.foo.com; 

    location/{ 
     proxy_pass http://$backend; 
    } 
}