出于测试目的,我需要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
}