Полный отказ от ответственности; Я не сильный Ruby dev, но я учусь быстро :)Принуждение Gibbon Gem (или Faraday) использовать QuotaGuard Статический HTTP-прокси на Heroku
Я установил простой скрипт Ruby на дирижер Heroku, который слушает звонки с нашей платформы для пожертвований.
Когда пожертвование сделано, оно попадает в конечную точку webhook в моем приложении, которое затем отправляет квитанцию пожертвования через Mandrill (что прекрасно работает) и обновляет/вставляет запись в список Mailchimp с помощью метода «upsert» чудесного жемчужина Гиббона.
Что все работает нормально; за исключением случаев, когда в коробке Heroku появляется IP-адрес, который в прошлом делал что-то плохое, а API Mailchimp падает с 403 (Forbidden) ошибкой.
У меня это было подтверждено командой API Mailchimp; они предлагают использовать что-то вроде QuotaGuard Static для туннелирования запросов API на Mailchimp, устраняя проблему вызовов API от непоследовательных (а иногда и ненадежных) IP-адресов.
Мне хотелось бы посоветовать, как это сделать. Я вижу, что Gibbon использует Faraday для обработки HTTP-запросов, но я недостаточно продвинутый Ruby-dev для разворачивания кода и добавления функций HTTP-прокси.
Если есть способ глобально заставить вызовы Фарадея использовать прокси-сервер HTTP (то есть QuotaGuard Static), это то, что я ищу. Например, настройка конфигурации для Faraday.
Или, возможно, есть твик я могу сделать, чтобы мой PROCFILE:
web: bundle exec ruby webhooks.rb -p $PORT
... что заставит исходящий трафик идти через QuotaGuard Static прокси. Я знаю, что Proximo имеет эту функцию, но также блокирует входящий доступ к приложению, который не работает для этого приложения.
Оцените любые идеи, которые может предложить сообщество. Благодаря!
@ marco-sandrini - Я чувствую себя немного глупо, чтобы не работать, но ... Я взволнован, что это было легко исправить. Спасибо! – petjb
Я счастлив, что смогу помочь! –