【问题标题】:How do i use X-Accel-Redirect with nginx我如何将 X-Accel-Redirect 与 nginx 一起使用
【发布时间】:2011-10-02 01:37:33
【问题描述】:

我有一个 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;
    }
}

【问题讨论】:

    标签: asp.net nginx


    【解决方案1】:

    啊。问题是 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();
    

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2021-12-24
      • 2013-04-17
      相关资源
      最近更新 更多