Тестирование Stripe webhook через HTTPS не проходит: время ожидания истекло - PullRequest
0 голосов
/ 23 мая 2018

Короткая версия

Я пытаюсь создать очень простой веб-крючок, который перенаправляет на метод ASP.NET MVC Controller на localhost.Тем не менее, мой веб-сайт использует полный HTTPS, и кажется, что мой туннельный клиент ( ngrok ) не работает с HTTPS.Создание нового веб-сайта ASP.NET MVC и реализация моего веб-крюка работает, но я продолжаю терпеть неудачу с моим HTTPS-сайтом.

Длинная версия

Вот что я сделална данный момент:

1 / Создайте конечную точку на моем веб-сайте ASP.NET MVC5 и запустите ее на localhost .Он работает через порт 44368, так как мой полный сайт использует HTTPS.

public class StripeWebhookController : BaseController
{
    [HttpPost]
    [AllowAnonymous]
    public ActionResult Index()
    {
         // ...
    }
}

2 / Установите ngrok и настройте его, как описано в этом SO-ответе

3 / Перейдите на мою тестовую панель Stripe и скопируйтеURL, который будет называться так: enter image description here
(Я попытался проверить другую кнопку RadioButton, «последняя», но не работает лучше. Я также попытался заменить https на http, не лучше ни то, ни другое)

Когда я отправляю тестовый веб-крючок с приборной панелью Stripe, я вижу запрос в http://localhost:4040/inspect/http: enter image description here

Ноточка останова, которую я поместил в первую строку моего StripeWebhook/Index метода, никогда не будет достигнута.И в Stripe появляется всплывающее окно с отправленным запросом с таким сообщением об ошибке: Test webhook error: Timed out.

Однако, если я создаю новый веб-сайт ASP.NET MVC с шаблоном по умолчанию и следую в точностите же шаги, это работает.Это связано с тем, что в моем проекте используется HTTPS, а ngrok не удается перенаправить через HTTPS метод (насколько я понял.)

Как я могу использовать ngrok (или любой другой бесплатный инструмент туннелирования) для перенаправления наметод контроллера по HTTPS?

1 Ответ

0 голосов
/ 15 июня 2018

Трудно сказать по имеющейся информации, связана ли проблема с ngrok, или с вашим кодом, или между ними.

С ngrok вам нужно переписать хост, см. ngrok с https onlocalhost возвращает 502

У нас также есть бесплатный инструмент для туннелирования Conveyor, который устанавливается как расширение VS.Вы можете просто установить его из Сервис -> Расширения и зарегистрироваться для учетной записи через пользовательский интерфейс.Он должен «просто работать», как только вы получите публичный URL (который будет https).Возможно, возникнет та же проблема, но я рад помочь вам разобраться. это видео также может оказаться полезным.

РЕДАКТИРОВАТЬ С помощью OP : просто, чтобы сделать его более понятным, мне пришлось установить конвейер, а затем нажать «Доступ через Интернет».и зарегистрируйтесь на их сайте.Затем вы получаете адрес как https://projectName.conveyor.cloud.Мне просто нужно было создать новую конечную точку на Stripe с этим доменным именем и добавить мой маршрут /StripeWebhook/Index, и он работает как шарм

...