Как проверить интеграцию между локальной средой и внешними сервисами (webhooks) - PullRequest
0 голосов
/ 11 января 2019

с тех пор, как я начал разрабатывать веб-приложения, мне всегда было очень неприятно проверять запросы внешних служб и тестировать мое приложение с "реалистичными" сценариями. Какие решения у нас есть, чтобы представить мою локальную среду разработки внешним сервисам?

Я использую Laravel Homestead и / или PHP Development Server

1 Ответ

0 голосов
/ 11 января 2019

За некоторое время в поисках окончательного ответа я нашел решение, которое решает все эти проблемы эффективным, бесплатным способом, это Ngrok , продукт, созданный Алан Шрив - - который работал на таких гигантах, как Microsoft и Twilio. Алан написал о создании Ngrok и статью в своем блоге , он описывает продукт как:

"Ngrok - это обратный прокси-сервер туннелирования, который устанавливает защищенные туннели от общедоступной конечной точки к локально работающей сетевой службе, захватывая весь трафик для проверки и воспроизведения. Это проект с открытым исходным кодом на GitHub."

Давайте начнем:

Итак, теперь, когда вы немного узнали об инструменте и почему я его нашел, давайте продемонстрируем, как показать локальную среду, чтобы сторонние сервисы могли отправлять запросы в локальную среду через Webhook, - это очень просто и два решения, которые Я собираюсь представить, были проверены и работают со следующими сценариями:

  • Сценарий 1. Проект PHP с использованием сервера разработки PHP 7.2.6
  • Сценарий 2: проект Laravel (PHP) с использованием Laravel Development Server (php artisan serve)
  • Сценарий 3: проект Laravel (PHP) с использованием Laravel Homestead

Для этого просто следуйте инструкциям:

  1. Доступ к веб-сайту Ngrok
  2. Зарегистрироваться или Войти
  3. Скачать клиент на основе вашей ОС
  4. Аутентифицировать загруженный клиент, следуя инструкциям на той же странице, где вы его загрузили.

Для первых двух сценариев просто выполните следующую команду

ngrok http <host>:<port>

Например: Ngrok http 127.0.0.0.1: 666

Для третьего сценария (если вы используете домен для доступа к hometead Ex: homestead.test, вы должны переписать host-header. Но не беспокойтесь, чтобы добиться этого, просто увеличьте указанную выше команду до чего-то вроде)

ngrok http <homestead_host_ip>:<port> -host-header=<homestead_domain>

пример: ngrok http 192.168.10.10:80 -host-header = homestead.test

Вуаля, теперь просто укажите URL-адрес, сгенерированный Ngrok, в Webhook, который вы хотите протестировать и наслаждаться этим замечательным решением.

...