Краткая версия
Я пытаюсь создать очень простой веб-хук, который перенаправляет на метод контроллера ASP.NET MVC на локальном хосте. Однако мой веб-сайт использует полноценный 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 и настройте его, как описано в это ТАК ответ
3/ Перейдите на мою тестовую панель Stripe и скопируйте URL-адрес, который будет вызываться следующим образом:
(я пытался проверить другой RadioButton, "последний", но не работать лучше.Я тоже пробовал заменить https
на http
, тоже не лучше)
Когда я отправляю тестовый веб-перехватчик с помощью панели инструментов Stripe, я вижу запрос в http://localhost:4040/inspect/http
:
Но точка останова, которую я разместил в первой строке моего метода StripeWebhook/Index
, никогда не срабатывает. И в Stripe появляется всплывающее окно с отправленным запросом с этим сообщением об ошибке: Test webhook error: Timed out
.
Однако, если я создам совершенно новый веб-сайт ASP.NET MVC с шаблоном по умолчанию и выполню точно такие же действия, все будет работать. Это связано с тем, что мой проект использует HTTPS, а ngrok не может перенаправить метод HTTPS (насколько я понял).
Как я могу использовать ngrok (или любой другой бесплатный инструмент туннелирования) для перенаправления на метод контроллера через HTTPS?