从Nginx中的反向代理(上游服务器)服务器下载文件,混合了另一台服务器的内容

时间:2020-04-15 14:19:35

标签: nginx

我正在使用逆向代理使用三个docker容器运行nginx。在这三个容器中,提取数据后,同一应用程序正在运行(数据提取应用程序),我需要下载文件。 下载文件时,内容从另一个容器中混合了。 如果我在谷歌浏览器中选择了1.pdf文件(用于提取),则反向代理会将流量重定向到一个容器 再次,如果我在firefox中选择了2.pdf文件(用于提取),则反向代理会将流量重定向到第二个容器。 提取文件后,如果我尝试从google chrome下载文件,则内容将从第二个容器下载,即2.pdf内容。 有时下载正确,但有时却混淆了数据。 在下载文件时,我的下载地址为http://1xx.1xx.3xx.xx/file_zip。 在所有三个容器中,我都有相同的下载网址。 我不知道可能是因为download_url混淆了内容。

worker_processes 1;

events { worker_connections 1024; }

http {

    sendfile off;

    gzip              on;
    gzip_http_version 1.0;
    gzip_proxied      any;
    gzip_min_length   500;
    gzip_disable      "MSIE [1-6]\.";
    gzip_types        text/plain text/xml text/css
                      text/comma-separated-values
                      text/javascript
                      application/x-javascript
                      application/atom+xml;
    client_max_body_size 10M;

    # List of application servers
    upstream mydomain.com {

        server app1:80;
        server app2:80;
        server app3:80;

    }

    # Configuration for the server
    server {

        # Running port
        listen 80;
        server_name mydomain.com;
        # Proxying the connections connections
        location / {
           proxy_pass         http://1xx.133.xxx.xx;
            proxy_connect_timeout       300;
            proxy_send_timeout          300;
            proxy_read_timeout          300;
            send_timeout                300;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;

        }
    }
}

上面是我的nginx配置文件。 在nginx配置中,我有3个容器app1,app2,app3,其中应用程序在容器内的端口80上运行。 在浏览器中,如果我搜索mydomain.com,它将在提取1.pdf文件后重定向到第一个容器,那么我正尝试从浏览器下载文件,它将正确下载。 再次,如果我尝试访问该应用程序,nginx会将流量重定向到第二个容器,因为我没有提取过nginx配置中的任何负载均衡方法(默认情况下,它将采用循环方式),如果我尝试下载该文件,则提取2.pdf文件我将下载的内容保存为1.pdf文件(有时会正确下载)。

我的目标是使3个人同时访问该应用程序(使用数据科学的数据提取应用程序),并且可以提取文件并下载提取的内容。提取工作正常,但是当我尝试同时下载文件时,内容混合了。

在3个容器中运行的应用程序的下载URL与http://1xx.xxx.3xx.xx/file_zip相同。

0 个答案:

没有答案