6

我有一个在 debian wheezy 上运行的 nginx 服务器。我正在安装OTRS。但是我们旧的perl-fcgi 包装器干扰了其他一些重要的过程,所以我们决定选择fcgiwrap 包http ://www.haschmi.de/de/otrs/otrs-on-nginx.html

所以我删除了旧的包装器并安装了新的包装器。旧包装纸有

fastcgi_pass 127.0.0.1:8999;

和新的

fastcgi_pass unix:/var/run/fcgiwrap.socket;

这是完整的配置

server {
   listen ip:80;

    server_name support.test.com;

    root /opt/otrs/var/httpd/htdocs;

    index index.html;
    location /otrs-web {
        gzip on;
        alias /opt/otrs/var/httpd/htdocs;
    }

   location ~ ^/otrs/(.*\.pl)(/.*)?$ {
   #try_files $uri =404;
    gzip off;
    fastcgi_pass unix:/var/run/fcgiwrap.socket;
    fastcgi_index index.pl;
    fastcgi_param SCRIPT_FILENAME /opt/otrs/bin/fcgi-bin/$1;


    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param DOCUMENT_URI $document_uri;
    fastcgi_param DOCUMENT_ROOT $document_root;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param REMOTE_ADDR $remote_addr;
    fastcgi_param REMOTE_PORT $remote_port;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
   }
}

当我访问我们的 OTRS 时,一切正常。但是当我提交登录表单时,我得到了

An error occurred while reading CGI reply (no response received)

有什么想法有什么问题吗?我该如何解决这个问题?

4

1 回答 1

8

当前的 Ubuntu 代表 (12.04) 不包括正确的 fcgiwrap 版本。

您需要直接从https://github.com/gnosek/fcgiwrap编译 fcgiwrap并使用 -f 选项来运行包装器。它将导致 err_log 被重定向到服务器 error.log。要更改 fcgiwrap 启动选项,请编辑/etc/init.d/fcgiwrap并取消注释/修改以下行:

DAEMON_OPTS="-f" 

在此之后重新启动 fcgiwrap:

service fcgiwrap restart
于 2012-10-07T14:28:26.363 回答