Почему я не могу использовать serveo вместо ngrok для туннелирования соединения с приложением mvc, размещенным на сервере EC2 для получения SMS на Twilio? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть простое веб-приложение asp.net mvc, которое прослушивает сообщение и отвечает стандартным ответом.Он использует Twilio API и в

Вот код:

// Code sample for ASP.NET MVC on .NET Framework 4.6.1+
// In Package Manager, run:
// Install-Package Twilio.AspNet.Mvc -DependencyVersion HighestMinor

using Twilio.AspNet.Common;
using Twilio.AspNet.Mvc;
using Twilio.TwiML;

namespace WebApplication1.Controllers
{
    public class SmsController : TwilioController
    {
        public TwiMLResult Index(SmsRequest incomingMessage)
        {
            var messagingResponse = new MessagingResponse();
            messagingResponse.Message("The copy cat says: " +
                                      incomingMessage.Body);

            return TwiML(messagingResponse);
        }
    }
}

Для запуска кода Twilio предлагает мне "Хотя есть много способов сделать этоподобно развертыванию приложения в Azure или AWS, вам, вероятно, понадобится менее трудоемкий способ тестирования вашего Twilio, такого как ngrok, чтобы разрешить Twilio общаться с вашим приложением ASP.NET "

Я использовал ngrok, что позволяет мне выставить свою локальную среду всему общедоступному интернету, который затем может быть доступен по URL, предоставленному ngrok, но бесплатная версия продолжает менять поддомен всякий раз, когда я перезагружаю свой сервер ec2 (таким образом, перезапуская туннель ngrok).

Что я хотел бы знать, так это то, что я попробовал альтернативу по имени serveo, которая позволила мне выбрать поддомен бесплатно, но сгенерированный URL-адрес выдал ошибку (400) при отправке сообщения в Twilio.

Есть ли способ обойти?Я новичок в мире веб-приложений asp.net mcv и Twilio и буду очень признателен за некоторые рекомендации.

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

Если нет, как я могу развернуть его на AWS?Который предоставил бы мне URL для подачи на консоль Twilio

1 Ответ

0 голосов
/ 24 июля 2019

Причина, по которой «serveo» не работает, заключается в том, что (я считаю) вы используете IIS Express, который не разрешает запросы с заголовком узла, отличным от localhost.

«ngrok» может обойти это., как и наше бесплатное VS Extension под названием Conveyor.Конвейер на данный момент имеет туннелирование в бета-версии, но он стабилен и поддомены исправлены.Вы можете скачать его из меню расширений в VS или на торговой площадке.Вот учебник для Twilio https://conveyor.cloud/Help/Writing_webhooks_on_localhost_with_Visual_Studio_and_IIS_Express

...