NGINX反向代理非80端口无法访问

故障现象:

1、被代理机器单独访问正常;

2、通过集群访问,连接不带端口,无法访问(502);

配置如下:

upstream test {
    ip_hash;
    server   10.86.87.85:8080;
    server   10.86.87.195:8080;
}

server {
        listen 8000;    
        server_name 10.86.87.101;

        location / {
            proxy_pass http://test;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host    $host;
            real_ip_header X-Real-IP;
        }
}

原因:

反向代理端口为非80端口时,需要配置上代理端口。

完整配置如下:

upstream test {
    ip_hash;
    server   10.86.87.85:8080;
    server   10.86.87.195:8080;
    check interval=1000 rise=2 fall=5 timeout=1000 type=http;
    check_http_send "GET /index.jsp  HTTP/1.0\r\n\r\n";
    check_http_expect_alive http_2xx http_3xx;
}

server {
        listen 8000; 
        server_name 10.86.87.101;
        index index.jsp index.html index.htm;
        client_max_body_size 100m;
        access_log  logs/test_access.log  logstash_json;

        location / {
            proxy_pass http://test;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host    $host:8000;  # 加上被代理的端口号,这里是关键
            real_ip_header X-Real-IP;
        }
}

猜你喜欢

转载自blog.csdn.net/weixin_34104341/article/details/90960516
今日推荐