nginx解决首页跳转问题详解

nginx和tomcat负载均衡

比如 www.csdn.NET 网站后面有 2个tomcat。

配置负载均衡:

upstream csdn-tomcat{

server 192.168.100.101:8080;

server 192.168.100.102:8080;

}

server {

listen 80;

server_name www.csdn.net csdn.net;

index index.html;

location / {

if( $request_uri = "/") {

rewrite "/"http://www.csdn.net/index.html break;

}

proxy_pass http://csdn-tomcat$request_uri;

}

# 301 redirect:

location /blog/index.html {

return301 http://www.iteye.com$request_uri;

}

}

研究好半天,终于解决了。

首先假设首页上面是一个静态的html。

当用户没有直接输入 www.csdn.Net的时候进行 301 跳转。

引导用户到 www.csdn.net/index.html 首页。

其他动态请求打到tomcat上面。

这样的在nginx上面直接做了301 跳转。

这样解决的是问题是由于tomcat 是用spring做的。

后缀成.html了,没有办法区分tomcat 和 普通html了。

要是tomcat 的后缀成.do就好办了。

主要是为了减轻 tomcat的压力。将html css image 都交给nginx去处理。

但是上线的时候比较麻烦,分开上线。