Xdebug не может подключиться к удаленному прокси-серверу DBGp

#visual-studio-code #proxy #xdebug

#visual-studio-код #полномочие #xdebug

Вопрос:

Я запускаю расширение Xdebug на веб-сервере PHP (IIS) и VSCode на другой машине разработки.

Когда я начинаю прослушивать сеанс Xdebug в VSCode (с отладкой PHP Феликса Беккера) без прокси, все работает так, как ожидалось.

Теперь я пытаюсь использовать dbgpProxy, потому что на машине разработки есть несколько разработчиков.

Я попытался запустить dbgpProxy на веб-сервере и зарегистрироваться на нем, активировав настройки прокси-сервера в VSCode, но это не удается Connection refused . В то же время Xdebug прекрасно подключается к прокси-серверу, и прокси-сервер пытается перенаправить входящий сеанс на основе ключа IDE, но, конечно, не может его найти, потому что регистрация не удалась.

Поэтому я попытался запустить dbgpProxy на машине разработки. На этот раз VSCode успешно зарегистрировался на прокси-сервере, но когда Xdebug попытался подключиться к прослушивающему прокси-серверу, это не удалось.

Я был почти уверен, что знаю, что делаю, порты были открыты, все ДОЛЖНО БЫЛО работать, но этого не произошло.

Ответ №1:

Оказалось, что проблема в IP-адресах.

Я запустил прокси-сервер с настройками по умолчанию, который является локальным хостом (127.0.0.1) как для серверной, так и для клиентской части с соответствующими портами 9000 и 9001. Что было неправильно (для моей ситуации).

Чтобы прослушивать входящие соединения с другой машины, прокси-сервер должен быть настроен с реальным IP-адресом машины, на которой он работает, иначе он не будет прослушиваться.

В моем случае я решил запустить прокси-сервер на сервере, поэтому я запускаю его только с одним параметром для входящих клиентских подключений и оставляю параметр сервера по умолчанию (127.0.0.1:9000 и, конечно, настраиваю XDebug в php.ini на этот адрес и порт).

dbgpProxy.exe -i 10.123.54.76:9001

Комментарии:

1. FWIW, я специально localhost включил его по умолчанию из соображений безопасности. Как правило, вы не хотите запускать службу, которая по умолчанию имеет открытые порты для доступа в Интернет.