Nginx总是返回主页的html而不是JSON数据

时间:2014-04-18 13:08:04

标签: json django nginx

我是nginx和web服务器技术的新手。 我有一个django项目,我正在尝试在Web服务器上使用nginx + fastCGI。

在我的项目中,我有urls,它返回返回JSON数据的html和url。 当我试图总是获取JSON数据nginx服务器(没有错误,没有警告)从主页面返回html。 响应的内容类型是“text / html”,但应该是“application / json”。

我的nginx配置(此文件几乎是默认设置):

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
        worker_connections 768;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        server{
                listen 8080;

                location / {
                        fastcgi_pass 127.0.0.1:8881; 
                        include fastcgi_params;
                }

                location /static {
                        alias /home/user/xxx/templates;
                }
        }

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        gzip on;
        gzip_disable "msie6";

        gzip_comp_level 6;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}

我尝试使用mod_python设置Apache,并且我获得了成功的结果。 我做错了什么?我应该如何正确配置nginx以获取JSON数据? 如果您需要更多信息,请询问我。

提前致谢。

1 个答案:

答案 0 :(得分:1)

听起来您需要将application / json mime类型添加到mime.types配置中。 See these question and answers.