无法在Varnish后面调试

时间:2017-03-04 11:47:27

标签: php nginx xdebug varnish

我使用PHP 7.1.2和Xdebug 2.5.1在我的localhost开发环境中运行WordPress。我使用nginx来监听443,它在端口6081上转发到Varnish,后者又从另一个nginx后端获取,侦听端口8080,它将PHP请求转发到端口9000上的PHP-FPM

nginx:443 -> varnish:6081 -> nginx:8080 -> php-fpm:9000

当我尝试使用PhpStorm进行调试时,一切正常:Xdebug连接和断点被击中,只要我在端口8080上点击nginx后端。但是,当我通过Varnish时,Xdebug无法连接。

我在Using Xdebug when the php application sits behind Varnish查看了这个问题,但这并没有解决我的问题。

有没有人可能知道可能出现什么问题?我需要修复一些ESI包含,但我甚至无法调试PHP变量。

我想知道Varnish是否可能会删除Xdebug连接所需的一些标题?

我的XDebug配置如下:

[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9001

为了尝试让Xdebug工作,我只是传递vcl_recv(),并将我上面提到的链接中的修复程序包含在内:

sub vcl_recv {
    if (req.http.x-forwarded-for) {
         set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
    } else {
         set req.http.X-Forwarded-For = client.ip;
    }

    return(pass);
}

到目前为止,打开xdebug.remote_log并输出:

Log opened at 2017-03-04 12:22:51                                                                                                                                                                               
I: Checking remote connect back address.                                                                                               
I: Checking header 'HTTP_X_FORWARDED_FOR'.                                                                                                                                                                     
I: Remote address found, connecting to 127.0.0.1, 127.0.0.1, 127.0.0.1:9001.                                                                                                                                    
W: Creating socket for '127.0.0.1, 127.0.0.1, 127.0.0.1:9001', getaddrinfo: Undefined error: 0.                                                                                                                
E: Could not connect to client. :-(                                                                                                                                                                           Log closed at 2017-03-04 12:22:52

127.0.0.1, 127.0.0.1, 127.0.0.1:9001地址有问题。

0 个答案:

没有答案