首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nginx中使用X-Accel-Redirect

如何在nginx中使用X-Accel-Redirect
EN

Stack Overflow用户
提问于 2011-10-02 00:32:59
回答 1查看 788关注 0票数 0

我有一个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中。

代码语言:javascript
复制
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;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-02 01:37:34

啊哈。问题出在nginx配置文件。我需要添加

代码语言:javascript
复制
location /base/path {
    internal;
}

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

代码语言:javascript
复制
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "";
HttpContext.Current.Response.AddHeader("X-Accel-Redirect", full);
HttpContext.Current.Response.End();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7621530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档