我有一个asp.net网站,我有很好的网址,因此用户可能会看到/abc/1/a.jpg
路径为docroot/abc/number/number/id.jpg
我需要asp.net来解码真实路径的位置。所以基本上我这样做而不是重写我设置X-Accel-Redirect标头并调用Reponse.End();我收到了404错误。此代码位于Application_BeginRequest中。我试着不做.End()而只是回来。我得到一个像404错误的asp.net。我乱搞并放弃了,而不是发送标题我称为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;
}
}
答案 0 :(得分:0)
,嘎。问题是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();