首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx混淆$fastcgi_script_name和$fastcgi_path_info

Nginx混淆$fastcgi_script_name和$fastcgi_path_info
EN

Stack Overflow用户
提问于 2018-07-10 21:00:41
回答 0查看 83关注 0票数 0

以下是我的Nginx配置文件的相关部分:

代码语言:javascript
复制
http {
    log_format  fastcgi
                '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$fastcgi_script_name" "$fastcgi_path_info"';

    server {
        listen       8080;
        server_name  localhost;

        access_log  /usr/local/var/log/nginx/access.log  fastcgi;

        location / {
            fastcgi_index /;
            fastcgi_pass unix:/usr/local/var/www/run/httpd.sock;
            include fastcgi_params;
        }
    }
}

基本上,我在/usr/local/var/www/run/httpd.sock有一个用于处理FastCGI请求的Unix套接字,它工作得很好。这里的问题是,Nginx认为URI的最后一部分是脚本名,但它应该是路径信息。例如

代码语言:javascript
复制
⇒ nginx -v
nginx version: nginx/1.15.0
⇒ nginx
⇒ curl -i localhost:8080/index
HTTP/1.1 200 OK
Server: nginx/1.15.0
Date: Tue, 10 Jul 2018 12:27:15 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive

<p>hello, world</p>
⇒ tail -n 1 /usr/local/var/log/nginx/access.log
127.0.0.1 - - [10/Jul/2018:20:27:15 +0800] "GET /index HTTP/1.1" 200 30 "-" "/index" ""

这意味着$fastcgi_script_name/index$fastcgi_script_name为空字符串。

如何将Nginx配置为使$fastcgi_script_name包含URI的最后一部分,例如/index

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51265956

复制
相关文章

相似问题

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