C# 从NGINX后面的特定服务器获取HTTP响应

C# 从NGINX后面的特定服务器获取HTTP响应,c#,http,nginx,tcp,C#,Http,Nginx,Tcp,我们想看看是否有任何方法可以迫使NGINX从它背后的一个特定服务器上满足我们的请求 我正在查询一个NGINX服务器,从两个不同的服务器得到响应。我可以通过查看响应上的“服务器”头来判断这一点。在提供数据方面,一台服务器始终比另一台服务器慢。有没有办法让NGINX从更快的服务器上交付内容 即使您可以为我指出一个方向,这也会很有帮助。您可以通过多种方式来完成此操作,您可以创建一个并向其传递请求,也可以使用block来完成此操作。Nginx还提供了一些帮助,以帮助解决类似您的情况 使用上游: upst

我们想看看是否有任何方法可以迫使NGINX从它背后的一个特定服务器上满足我们的请求

我正在查询一个NGINX服务器,从两个不同的服务器得到响应。我可以通过查看响应上的“服务器”头来判断这一点。在提供数据方面,一台服务器始终比另一台服务器慢。有没有办法让NGINX从更快的服务器上交付内容


即使您可以为我指出一个方向,这也会很有帮助。

您可以通过多种方式来完成此操作,您可以创建一个并向其传递请求,也可以使用block来完成此操作。Nginx还提供了一些帮助,以帮助解决类似您的情况

使用上游:

upstream backend {
    server 192.168.0.10; # Fast server
    server 192.168.0.11; # Slow server
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend;
    }
}
使用位置块:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://192.168.0.10;
    }
}
负载平衡策略

最少连接-使用活动会话最少的服务器:

upstream backend {
    least_conn;
    server 192.168.0.10; # Fast server
    server 192.168.0.11; # Slow server
}
会话持久性-为每个请求将同一用户路由到同一后端:

upstream backend {
    ip_hash;
    server 192.168.0.10; # Fast server
    server 192.168.0.11; # Slow server
}
加权平衡-向一台服务器发送的请求比另一台服务器多:

upstream backend {
    server 192.168.0.10 weight=3; # Fast server
    server 192.168.0.11; # Slow server
}

此策略将导致快速服务器为慢速服务器提供的每个请求提供3个请求。

谢谢您的回答,但我正在尝试从客户端执行此操作。我无法访问Nginx服务器本身。您是否建议我可以查询Nginx的任何策略,以便将我的请求转发到更快的服务器。我看到了一些建议,比如发送空参数,不使用缓存头等等,但似乎都不起作用。但是是的。。我试着从客户端做这件事。仅仅从客户端来说很困难,因为平衡策略是在服务器端决定的,所以你几乎无能为力。