我有一个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;
}
}发布于 2011-10-02 01:37:34
啊哈。问题出在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();https://stackoverflow.com/questions/7621530
复制相似问题