Chttpexception With Nginx

I have yii working with nginx, following the instructions in

(it’s almost exactly what is in there, barring of course the change in the root parameter since I’m using /var/www/yiiapp/htdocs)

however, when I raise an exception using e.g.

throw new CHttpException(406, print_r("Error found", true));

I get a 502 bad gateway error on the nginx side.

Looking in /var/log/nginx/error.log, I see this sort of error:

2013/09/26 15:59:47 [error] 6906#0: *104 upstream sent invalid status "CHttpException" while reading response header from upstream, client:, server: , request: "GET /index.php?r=modulename/update&id=3009 HTTP/1.1", upstream: "fastcgi://", host: "", referrer: "http: //"

I can’t find any references at all, when I google for ChttpException and nginx, so I must be doing something very wrong here?

NB: I can’t post embedded links, so that http:<space>//… <space> is not supposed to be there, in case anybody thinks my URL is incorrect.

Can you post your nginx vhost configuration?

I ran into a 502 error issue a while back, may be related to yours.

Can’t post links, but search google for “upstream too big nginx codeigniter”. First result on stackoverflow.

sure, here it is:

server {

    set $host_path "/var/www/yiiapp";

    server_name mysite;

    root   $host_path/htdocs;

    set $yii_bootstrap "index.php";

    charset utf-8;

    location / {

        index  index.html $yii_bootstrap;

        try_files $uri $uri/ /$yii_bootstrap?$args;


    location ~ ^/(protected|framework|themes/\w+/views) {

        deny  all;


    #avoid processing of calls to unexisting static files by yii

    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {

        try_files $uri =404;


    # pass the PHP scripts to FastCGI server listening on

    location ~ \.php {

        fastcgi_split_path_info  ^(.+\.php)(.*)$;

        #let yii catch the calls to unexising PHP files

        set $fsn /$yii_bootstrap;

        if (-f $document_root$fastcgi_script_name){

            set $fsn $fastcgi_script_name;



        include fastcgi_params;

        fastcgi_param  SCRIPT_FILENAME  $document_root$fsn;

        #PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI

        fastcgi_param  PATH_INFO        $fastcgi_path_info;

        fastcgi_param  PATH_TRANSLATED  $document_root$fsn;


    # prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.)

    location ~ /\. {

        deny all;

        access_log off;

        log_not_found off;



very mildly sanitised (i.e. server_name)

Thanks, I assume you are referring to this:

I tried both the proxy* parameters in nginx.conf and the fastcgi* parameters in the ~.php$ location in my server config, unfortunately still no go.

And for completeness, this is a test server, with only this one site running for now, I even turned off gzip in case it was a factor.

nobody else has seen this issue with nginx not handling the chttpexception errors thrown in Yii, properly?

Same thing for me. Have you been able to fix it?