如何使用代理Nginx服务器正确提供静态文件?

时间:2018-09-11 11:49:18

标签: nginx testing proxy response delay

出于测试目的,我需要NIGNX服务器提供静态文件作为响应的延迟响应。我尝试通过nginx代理使用this描述,但是我将为proxy_pass使用相同的主机。

在代理之后很难“找到”(提供)静态文件。现在,我有了一个有效的配置,但我想知道是否还有其他简单或优雅的方法来实现此配置。

主要问题是如何提供test_1|test_2/index.xml而不在其上设置“内部”别名。

请求即将到example.com/test_1|test_2,并且响应是经过延迟后位于/var/www/test_1|test_2中的静态xml文件。

server {
    listen            80;
    listen            [::]:80;
    server_name       example.com;

    location / {
        echo_sleep    0.1;  # delay
        echo_exec     /proxy$request_uri;
    }

    location /proxy/ {
        internal;
        proxy_pass          http://$host;
        proxy_set_header    Host                $http_host;
        proxy_set_header    X-Forwarded-For     $remote_addr;
    }

    location /proxy/test_1 {
        internal;
        alias /var/www/test_1/index.xml;
    }

    location /proxy/test_2 {
        internal;
        alias /var/www/test_2/index.xml;
    }

    error_page  405     =200    $uri;  # handle post requests for testing purpose
}

0 个答案:

没有答案