С тех пор, как я начал разрабатывать веб-приложения, мне всегда было очень неприятно проверять запросы внешних служб и тестировать мое приложение по «реалистичным» сценариям. Какие решения у нас есть, чтобы представить мою локальную среду разработки внешним сервисам?
Я использую Laravel Homestead и / или PHP Development Server
Прежде чем искать окончательный ответ, я нашел решение, которое решает все эти проблемы эффективным, бесплатным способом, это Ngrok, продукт, созданный Алан Шрив — который работал на таких гигантов, как Microsoft и Twilio. Алан написал о создании Ngrok и статья в его блоге он описывает продукт как:
«Ngrok — это обратный прокси-сервер туннелирования, который устанавливает защищенные туннели от общедоступной конечной точки к локально работающей сетевой службе, захватывая весь трафик для проверки и воспроизведения. Это проект с открытым исходным кодом на GitHub».
Итак, теперь, когда вы немного узнали об инструменте и почему я его нашел, давайте продемонстрируем, как предоставить локальную среду, чтобы сторонние сервисы могли отправлять запросы в локальную среду через Webhook, — это очень просто, и два решения, которые я собирается представить, были протестированы и работают по следующим сценариям:
Для этого просто следуйте инструкциям:
Для первых двух сценариев просто выполните следующую команду
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, который вы хотите протестировать, и наслаждайтесь этим замечательным решением.
Других решений пока нет …