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 {
    return 301 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去处理。
但是上线的时候比较麻烦,分开上线。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx和vue中,当出现404错误时,通常是由于路由配置问题导致的。根据引用内容和,可以看出解决问题的关键是正确配置nginx的vue-router设置。 首先,你需要进入nginx的配置文件夹,通常位于nginx安装目录下的conf文件夹。找到nginx.conf文件并进行修改。 根据引用内容,正确的nginx配置如下: ``` server { listen 80; server_name testwx.wangshibo.com; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/ssoShuang/dist; # vue-router配置 location / { try_files $uri $uri/ @router; index index.html; } location @router { rewrite ^.*$ /index.html last; } } ``` 这个配置中,index指令定义了默认的索引文件,root指令指定了根目录路径。而最关键的是在location块中,使用了try_files指令来尝试匹配URI,如果找不到对应的文件或目录,则会重定向到@router块,在这里将所有请求重定向到index.html。 这样配置后,当出现404错误时,nginx会将请求重定向到vue-router,并通过index.html来处理该请求,从而解决了404错误。 总结起来,解决nginx和vue404错误的步骤如下: 1. 打开nginx的配置文件夹,找到nginx.conf文件进行修改。 2. 在server块中添加vue-router的配置,包括location块和@router块。 3. 在location块中使用try_files指令来尝试匹配URI,并重定向到@router块。 4. 在@router块中使用rewrite指令将请求重定向到index.html。 5. 保存配置文件,并重启nginx服务。 这样配置后,nginx会正确处理vue的路由,避免出现404错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值