Asp.net 如何在nginx中使用X-Accel-Redirect

Asp.net 如何在nginx中使用X-Accel-Redirect,asp.net,nginx,Asp.net,Nginx,我有一个asp.net网站,我有很好的URL,因此用户可以看到/abc/1/a.jpg路径是docroot/abc/number/number/id.jpg 我需要asp.net来解码真正的路径。所以本质上我这样做了,我没有重写,而是设置了X-Accel-Redirect头并调用了Reponse.End();我有一个404错误。此代码在应用程序_BeginRequest中。我试着不做。End()然后返回。我得到一个类似asp.net的404错误。我搞砸了,放弃了,所以我没有将名为HttpCont

我有一个asp.net网站,我有很好的URL,因此用户可以看到
/abc/1/a.jpg
路径是
docroot/abc/number/number/id.jpg

我需要asp.net来解码真正的路径。所以本质上我这样做了,我没有重写,而是设置了X-Accel-Redirect头并调用了Reponse.End();我有一个404错误。此代码在应用程序_BeginRequest中。我试着不做。End()然后返回。我得到一个类似asp.net的404错误。我搞砸了,放弃了,所以我没有将名为HttpContext.Current.RewritePath的头发送到完全相同的路径。现在显示图像,但它由asp.net而不是nginx处理

如何让nginx监听我的X-Accel-Redirect头文件?我的配置文件需要什么?我现在的那个看起来像这样

请注意,事实上,我是通过asp.net将所有内容放在一起的

server {
    server_name www.MYSITE.com static.MYSITE.com;

    root /var/www/MYSITE;

    location / {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

嘎。问题是nginx配置文件。我需要补充一点

location /base/path {
    internal;
}
文件必须位于标记为
internal的目录/位置我注意到内容类型不正确,除非设置为“”。这是我做的,我不确定你是否需要第一行

HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "";
HttpContext.Current.Response.AddHeader("X-Accel-Redirect", full);
HttpContext.Current.Response.End();