NGINX配置没什么问题了,无法使用upstream负载均衡

本文分享了在配置Nginx进行负载均衡时遇到的问题及解决办法,详细介绍了如何通过添加proxy_set_header解决跳转至Tomcat服务器时的404错误,适用于本地与Linux环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章的前提是已经配置好了NGINX,而且tomcat已经配置好了,而且能能够访问了。

然后使用nginx反向代理

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://ip:18080/;
            index  index.html index.htm;
        }
        location /my{
            proxy_pass http://ip:28080/;

        }

如上配置时没有问题的访问(http://ip:80),你可以通过nginx访问两个的tomcat,但是如果你想访问(http://ip:80)根据负载均衡跳转,则要使用upstream,我卡在这里很久了,因为我一配置upstream就404的错,而且配置也没有错

经过多次百度,一般都是这样配的,不过我在本地这样配置使用也是可以用的,但是在linux上就不行了,没改配置文件能访问nginx首页,以及直接访问一个tomcat是可以的,但是就是不能负载均衡,但是我就是跳转不到tomcat,后来无意中增加了一个proxy_set_header Host $host;
就能跳转了,虽然不知道原理,但是还是要记录一下这个问题,以便以后自己查看

    upstream tomcats{
        ip_hash;
        server ip:18080 weight=2 max_fails=3 fail_timeout=3;
        server ip:28080 weight=1 max_fails=3 fail_timeout=3;
    }
    
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://tomcats;
            proxy_set_header Host $host;
            index  index.html index.htm;
        }

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值